.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeHash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
xor       edx,edx
call      qword ptr [7FFE286DCE28]; DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,40
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-48],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       esi,edx
test      rbx,rbx
je        near ptr M01_L23
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       r14d,[rdi+10]
inc       r14d
mov       ecx,r14d
mov       rdx,[rdi+8]
mov       edx,[rdx+8]
cmp       ecx,edx
jge       short M01_L00
mov       [rdi+10],ecx
jmp       short M01_L01
M01_L00
 
mov       [rdi+10],edx
jmp       near ptr M01_L23
M01_L01
 
mov       rcx,rbx
mov       edx,esi
call      qword ptr [7FFE286DCDE0]; DotNetTips.Spargine.Extensions.StringExtensions.GetHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       rbx,rax
mov       rcx,25D40C0EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L24
mov       rcx,[rcx+18]
M01_L02
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L27
mov       rcx,[rsi+20]
mov       [rbp-38],rcx
cmp       qword ptr [rbp-38],0
je        near ptr M01_L25
lea       rcx,[rsi+20]
mov       r8,[rbp-38]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-38]
jne       near ptr M01_L25
M01_L03
 
mov       rdi,[rbp-38]
M01_L04
 
xor       ecx,ecx
mov       [rbp-38],rcx
M01_L05
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE284FC1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-40],rdi
test      rbx,rbx
je        near ptr M01_L07
lea       rsi,[rbx+10]
mov       ebx,[rbx+8]
xor       r15d,r15d
test      ebx,ebx
jle       near ptr M01_L15
M01_L06
 
mov       ecx,r15d
movzx     ecx,byte ptr [rsi+rcx]
mov       r8,25D40C00428
mov       r8,[r8]
mov       rdx,29DD28F7720
call      qword ptr [7FFE28434810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        near ptr M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        near ptr M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       r13d,[rax+r8]
cmp       r13d,[rcx+8]
ja        near ptr M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        near ptr M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       near ptr M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       near ptr M01_L12
M01_L07
 
call      qword ptr [7FFE28775230]
mov       ecx,0F
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L08
 
mov       rax,rbx
jmp       near ptr M01_L22
M01_L09
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rbx,rax
jmp       near ptr M01_L21
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],r13d
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE284FCA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r15d
cmp       r15d,ebx
jl        near ptr M01_L06
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE28507A60]; System.Text.StringBuilder.ToString()
mov       rbx,rax
test      rbx,rbx
je        short M01_L08
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       r14d,ecx
jge       short M01_L16
mov       [rsi+10],r14d
jmp       short M01_L17
M01_L16
 
mov       [rsi+10],ecx
jmp       near ptr M01_L08
M01_L17
 
cmp       dword ptr [rbx+8],0
je        short M01_L21
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M01_L18
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L19
M01_L18
 
call      qword ptr [7FFE28CED470]
test      eax,eax
jne       near ptr M01_L09
M01_L19
 
mov       ecx,[rbx+8]
dec       ecx
cmp       ecx,[rbx+8]
jae       near ptr M01_L10
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M01_L20
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L21
M01_L20
 
call      qword ptr [7FFE28CED470]
test      eax,eax
jne       near ptr M01_L09
M01_L21
 
mov       rax,rbx
M01_L22
 
mov       [rbp-48],rax
mov       rcx,rsp
call      M01_L28
nop
mov       rax,[rbp-48]
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L23
 
mov       rax,29DD28E0008
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L24
 
call      qword ptr [7FFE2866EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L02
M01_L25
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-38]
cmp       [rcx],ecx
call      qword ptr [7FFE289DD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L26
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L03
M01_L26
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L04
M01_L27
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L05
M01_L28
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
mov       rcx,25D40C0EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L29
call      qword ptr [7FFE2866EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rsi,rax
jmp       short M01_L30
M01_L29
 
mov       rsi,[rcx+18]
M01_L30
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L35
mov       rdi,[rsi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L31
mov       r14,[rbp-40]
mov       rcx,[r14+8]
mov       ecx,[rcx+8]
add       ecx,[r14+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L36
mov       rcx,r14
xor       edx,edx
call      qword ptr [7FFE284FC1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L32
M01_L31
 
mov       rdx,[rbp-40]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r14,[rbp-40]
je        short M01_L36
M01_L32
 
cmp       qword ptr [rsi+20],0
jne       short M01_L33
lea       rcx,[rsi+20]
mov       rdx,r14
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L36
M01_L33
 
lea       rcx,[rsi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rsi+28]
jg        short M01_L34
mov       rcx,[rsi+18]
mov       rdx,r14
cmp       [rcx],ecx
call      qword ptr [7FFE289DD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L36
M01_L34
 
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       short M01_L36
M01_L35
 
mov       r14,[rbp-40]
mov       rcx,rsi
mov       rdx,r14
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L36
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeHash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
xor       edx,edx
call      qword ptr [7FFE286ECE28]; DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,40
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-48],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       esi,edx
test      rbx,rbx
je        near ptr M01_L22
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       r14d,[rdi+10]
inc       r14d
mov       ecx,r14d
mov       rdx,[rdi+8]
mov       r15d,[rdx+8]
cmp       ecx,r15d
jge       near ptr M01_L04
mov       [rdi+10],ecx
mov       rcx,rbx
mov       edx,esi
call      qword ptr [7FFE286ECDE0]; DotNetTips.Spargine.Extensions.StringExtensions.GetHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       rbx,rax
mov       rcx,1D65A80EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L23
mov       rcx,[rcx+18]
M01_L00
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L26
mov       rcx,[rsi+20]
mov       [rbp-38],rcx
cmp       qword ptr [rbp-38],0
je        near ptr M01_L24
lea       rcx,[rsi+20]
mov       r8,[rbp-38]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-38]
jne       near ptr M01_L24
M01_L01
 
mov       rdi,[rbp-38]
M01_L02
 
xor       ecx,ecx
mov       [rbp-38],rcx
M01_L03
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-40],rdi
jmp       short M01_L05
M01_L04
 
mov       [rdi+10],r15d
jmp       near ptr M01_L22
M01_L05
 
test      rbx,rbx
je        near ptr M01_L07
lea       rsi,[rbx+10]
mov       ebx,[rbx+8]
xor       r15d,r15d
test      ebx,ebx
jle       near ptr M01_L15
M01_L06
 
mov       ecx,r15d
movzx     ecx,byte ptr [rsi+rcx]
mov       r8,1D65A800428
mov       r8,[r8]
mov       rdx,216EC617720
call      qword ptr [7FFE28444810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        near ptr M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        near ptr M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       r13d,[rax+r8]
cmp       r13d,[rcx+8]
ja        near ptr M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        near ptr M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       near ptr M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       near ptr M01_L12
M01_L07
 
call      qword ptr [7FFE28785230]
mov       ecx,0F
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L08
 
mov       rax,rbx
jmp       near ptr M01_L21
M01_L09
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rbx,rax
jmp       near ptr M01_L20
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],r13d
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE2850CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r15d
cmp       r15d,ebx
jl        near ptr M01_L06
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE28517A60]; System.Text.StringBuilder.ToString()
mov       rbx,rax
test      rbx,rbx
je        short M01_L08
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       r14d,ecx
jge       short M01_L16
mov       [rsi+10],r14d
cmp       dword ptr [rbx+8],0
je        short M01_L20
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M01_L17
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L18
M01_L16
 
mov       [rsi+10],ecx
jmp       near ptr M01_L08
M01_L17
 
call      qword ptr [7FFE28DD40F0]
test      eax,eax
jne       near ptr M01_L09
M01_L18
 
mov       ecx,[rbx+8]
dec       ecx
cmp       ecx,[rbx+8]
jae       near ptr M01_L10
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M01_L19
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L20
M01_L19
 
call      qword ptr [7FFE28DD40F0]
test      eax,eax
jne       near ptr M01_L09
M01_L20
 
mov       rax,rbx
M01_L21
 
mov       [rbp-48],rax
mov       rcx,rsp
call      M01_L27
nop
mov       rax,[rbp-48]
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       rax,216EC600008
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L23
 
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L00
M01_L24
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-38]
cmp       [rcx],ecx
call      qword ptr [7FFE289ED4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L25
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L01
M01_L25
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L02
M01_L26
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L03
M01_L27
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
mov       rcx,1D65A80EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L28
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rsi,rax
jmp       short M01_L29
M01_L28
 
mov       rsi,[rcx+18]
M01_L29
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L34
mov       rdi,[rsi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L30
mov       r14,[rbp-40]
mov       rcx,[r14+8]
mov       ecx,[rcx+8]
add       ecx,[r14+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L35
mov       rcx,r14
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L31
M01_L30
 
mov       rdx,[rbp-40]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r14,[rbp-40]
je        short M01_L35
M01_L31
 
cmp       qword ptr [rsi+20],0
jne       short M01_L32
lea       rcx,[rsi+20]
mov       rdx,r14
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L35
M01_L32
 
lea       rcx,[rsi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rsi+28]
jg        short M01_L33
mov       rcx,[rsi+18]
mov       rdx,r14
cmp       [rcx],ecx
call      qword ptr [7FFE289ED470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L35
M01_L33
 
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       short M01_L35
M01_L34
 
mov       r14,[rbp-40]
mov       rcx,rsi
mov       rdx,r14
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L35
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeHash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
xor       edx,edx
call      qword ptr [7FFE286DCE28]; DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,40
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-48],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       esi,edx
test      rbx,rbx
je        near ptr M01_L23
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       r14d,[rdi+10]
inc       r14d
mov       ecx,r14d
mov       rdx,[rdi+8]
mov       r15d,[rdx+8]
cmp       ecx,r15d
jge       near ptr M01_L04
mov       [rdi+10],ecx
mov       rcx,rbx
mov       edx,esi
call      qword ptr [7FFE286DCDE0]; DotNetTips.Spargine.Extensions.StringExtensions.GetHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       rbx,rax
mov       rcx,2463600CC38
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L24
mov       rcx,[rcx+18]
M01_L00
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L27
mov       rcx,[rsi+20]
mov       [rbp-38],rcx
cmp       qword ptr [rbp-38],0
je        near ptr M01_L25
lea       rcx,[rsi+20]
mov       r8,[rbp-38]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-38]
jne       near ptr M01_L25
M01_L01
 
mov       rdi,[rbp-38]
M01_L02
 
xor       ecx,ecx
mov       [rbp-38],rcx
M01_L03
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE284FC1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-40],rdi
jmp       short M01_L05
M01_L04
 
mov       [rdi+10],r15d
jmp       near ptr M01_L23
M01_L05
 
test      rbx,rbx
je        near ptr M01_L07
lea       rsi,[rbx+10]
mov       ebx,[rbx+8]
xor       r15d,r15d
test      ebx,ebx
jle       near ptr M01_L15
M01_L06
 
mov       ecx,r15d
movzx     ecx,byte ptr [rsi+rcx]
mov       r8,2463A000428
mov       r8,[r8]
mov       rdx,286C7E97720
call      qword ptr [7FFE28434810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        near ptr M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        near ptr M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       r13d,[rax+r8]
cmp       r13d,[rcx+8]
ja        near ptr M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        near ptr M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       near ptr M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       near ptr M01_L12
M01_L07
 
call      qword ptr [7FFE28775230]
mov       ecx,0F
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L08
 
mov       rax,rbx
jmp       near ptr M01_L22
M01_L09
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rbx,rax
jmp       near ptr M01_L21
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],r13d
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE284FCA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r15d
cmp       r15d,ebx
jl        near ptr M01_L06
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE28507A60]; System.Text.StringBuilder.ToString()
mov       rbx,rax
test      rbx,rbx
je        short M01_L08
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       r14d,ecx
jge       short M01_L16
mov       [rsi+10],r14d
cmp       dword ptr [rbx+8],0
je        short M01_L21
jmp       short M01_L17
M01_L16
 
mov       [rsi+10],ecx
jmp       near ptr M01_L08
M01_L17
 
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M01_L18
mov       rdx,7FFE65112E50
test      byte ptr [rcx+rdx],80
jne       near ptr M01_L09
jmp       short M01_L19
M01_L18
 
call      qword ptr [7FFE28CEFCD8]
test      eax,eax
jne       near ptr M01_L09
M01_L19
 
mov       ecx,[rbx+8]
dec       ecx
cmp       ecx,[rbx+8]
jae       near ptr M01_L10
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M01_L20
mov       rdx,7FFE65112E50
test      byte ptr [rcx+rdx],80
jne       near ptr M01_L09
jmp       short M01_L21
M01_L20
 
call      qword ptr [7FFE28CEFCD8]
test      eax,eax
jne       near ptr M01_L09
M01_L21
 
mov       rax,rbx
M01_L22
 
mov       [rbp-48],rax
mov       rcx,rsp
call      M01_L28
nop
mov       rax,[rbp-48]
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L23
 
mov       rax,286C7E80008
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L24
 
call      qword ptr [7FFE2866EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L00
M01_L25
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-38]
cmp       [rcx],ecx
call      qword ptr [7FFE289DD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L26
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L01
M01_L26
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L02
M01_L27
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L03
M01_L28
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
mov       rcx,2463600CC38
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L29
call      qword ptr [7FFE2866EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rsi,rax
jmp       short M01_L30
M01_L29
 
mov       rsi,[rcx+18]
M01_L30
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L35
mov       rdi,[rsi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L31
mov       r14,[rbp-40]
mov       rcx,[r14+8]
mov       ecx,[rcx+8]
add       ecx,[r14+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L36
mov       rcx,r14
xor       edx,edx
call      qword ptr [7FFE284FC1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L32
M01_L31
 
mov       rdx,[rbp-40]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r14,[rbp-40]
je        short M01_L36
M01_L32
 
cmp       qword ptr [rsi+20],0
jne       short M01_L33
lea       rcx,[rsi+20]
mov       rdx,r14
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L36
M01_L33
 
lea       rcx,[rsi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rsi+28]
jg        short M01_L34
mov       rcx,[rsi+18]
mov       rdx,r14
cmp       [rcx],ecx
call      qword ptr [7FFE289DD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L36
M01_L34
 
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       short M01_L36
M01_L35
 
mov       r14,[rbp-40]
mov       rcx,rsi
mov       rdx,r14
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L36
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeHash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
xor       edx,edx
call      qword ptr [7FFE286ECE28]; DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,40
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-48],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       esi,edx
test      rbx,rbx
je        near ptr M01_L22
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       r14d,[rdi+10]
inc       r14d
mov       ecx,r14d
mov       rdx,[rdi+8]
mov       r15d,[rdx+8]
cmp       ecx,r15d
jge       near ptr M01_L04
mov       [rdi+10],ecx
mov       rcx,rbx
mov       edx,esi
call      qword ptr [7FFE286ECDE0]; DotNetTips.Spargine.Extensions.StringExtensions.GetHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       rbx,rax
mov       rcx,2E459C0EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L23
mov       rcx,[rcx+18]
M01_L00
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L26
mov       rcx,[rsi+20]
mov       [rbp-38],rcx
cmp       qword ptr [rbp-38],0
je        near ptr M01_L24
lea       rcx,[rsi+20]
mov       r8,[rbp-38]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-38]
jne       near ptr M01_L24
M01_L01
 
mov       rdi,[rbp-38]
M01_L02
 
xor       ecx,ecx
mov       [rbp-38],rcx
M01_L03
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-40],rdi
jmp       short M01_L05
M01_L04
 
mov       [rdi+10],r15d
jmp       near ptr M01_L22
M01_L05
 
test      rbx,rbx
je        near ptr M01_L07
lea       rsi,[rbx+10]
mov       ebx,[rbx+8]
xor       r15d,r15d
test      ebx,ebx
jle       near ptr M01_L15
M01_L06
 
mov       ecx,r15d
movzx     ecx,byte ptr [rsi+rcx]
mov       r8,2E459C00428
mov       r8,[r8]
mov       rdx,324EBC07720
call      qword ptr [7FFE28444810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        near ptr M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        near ptr M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       r13d,[rax+r8]
cmp       r13d,[rcx+8]
ja        near ptr M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        near ptr M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       near ptr M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       near ptr M01_L12
M01_L07
 
call      qword ptr [7FFE28785230]
mov       ecx,0F
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L08
 
mov       rax,rbx
jmp       near ptr M01_L21
M01_L09
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rbx,rax
jmp       near ptr M01_L20
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],r13d
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE2850CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r15d
cmp       r15d,ebx
jl        near ptr M01_L06
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE28517A60]; System.Text.StringBuilder.ToString()
mov       rbx,rax
test      rbx,rbx
je        short M01_L08
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       r14d,ecx
jge       short M01_L16
mov       [rsi+10],r14d
cmp       dword ptr [rbx+8],0
je        short M01_L20
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M01_L17
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L18
M01_L16
 
mov       [rsi+10],ecx
jmp       near ptr M01_L08
M01_L17
 
call      qword ptr [7FFE28DD40F0]
test      eax,eax
jne       near ptr M01_L09
M01_L18
 
mov       ecx,[rbx+8]
dec       ecx
cmp       ecx,[rbx+8]
jae       near ptr M01_L10
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M01_L19
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L20
M01_L19
 
call      qword ptr [7FFE28DD40F0]
test      eax,eax
jne       near ptr M01_L09
M01_L20
 
mov       rax,rbx
M01_L21
 
mov       [rbp-48],rax
mov       rcx,rsp
call      M01_L27
nop
mov       rax,[rbp-48]
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       rax,324EBBF0008
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L23
 
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L00
M01_L24
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-38]
cmp       [rcx],ecx
call      qword ptr [7FFE289ED4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L25
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L01
M01_L25
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L02
M01_L26
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L03
M01_L27
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
mov       rcx,2E459C0EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L28
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rsi,rax
jmp       short M01_L29
M01_L28
 
mov       rsi,[rcx+18]
M01_L29
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L34
mov       rdi,[rsi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L30
mov       r14,[rbp-40]
mov       rcx,[r14+8]
mov       ecx,[rcx+8]
add       ecx,[r14+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L35
mov       rcx,r14
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L31
M01_L30
 
mov       rdx,[rbp-40]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r14,[rbp-40]
je        short M01_L35
M01_L31
 
cmp       qword ptr [rsi+20],0
jne       short M01_L32
lea       rcx,[rsi+20]
mov       rdx,r14
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L35
M01_L32
 
lea       rcx,[rsi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rsi+28]
jg        short M01_L33
mov       rcx,[rsi+18]
mov       rdx,r14
cmp       [rcx],ecx
call      qword ptr [7FFE289ED470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L35
M01_L33
 
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       short M01_L35
M01_L34
 
mov       r14,[rbp-40]
mov       rcx,rsi
mov       rdx,r14
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L35
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeHash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
xor       edx,edx
call      qword ptr [7FFE286FCE28]; DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,40
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-48],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       esi,edx
test      rbx,rbx
je        near ptr M01_L23
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       r14d,[rdi+10]
inc       r14d
mov       ecx,r14d
mov       rdx,[rdi+8]
mov       edx,[rdx+8]
cmp       ecx,edx
jge       short M01_L00
mov       [rdi+10],ecx
jmp       short M01_L01
M01_L00
 
mov       [rdi+10],edx
jmp       near ptr M01_L23
M01_L01
 
mov       rcx,rbx
mov       edx,esi
call      qword ptr [7FFE286FCDE0]; DotNetTips.Spargine.Extensions.StringExtensions.GetHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       rbx,rax
mov       rcx,22E29C0CC38
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L24
mov       rcx,[rcx+18]
M01_L02
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L27
mov       rcx,[rsi+20]
mov       [rbp-38],rcx
cmp       qword ptr [rbp-38],0
je        near ptr M01_L25
lea       rcx,[rsi+20]
mov       r8,[rbp-38]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-38]
jne       near ptr M01_L25
M01_L03
 
mov       rdi,[rbp-38]
M01_L04
 
xor       ecx,ecx
mov       [rbp-38],rcx
M01_L05
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE2851C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-40],rdi
test      rbx,rbx
je        near ptr M01_L07
lea       rsi,[rbx+10]
mov       ebx,[rbx+8]
xor       r15d,r15d
test      ebx,ebx
jle       near ptr M01_L15
M01_L06
 
mov       ecx,r15d
movzx     ecx,byte ptr [rsi+rcx]
mov       r8,22E2DC00428
mov       r8,[r8]
mov       rdx,26EBBBD7740
call      qword ptr [7FFE28454810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        near ptr M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        near ptr M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       r13d,[rax+r8]
cmp       r13d,[rcx+8]
ja        near ptr M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        near ptr M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       near ptr M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       near ptr M01_L12
M01_L07
 
call      qword ptr [7FFE28795230]
mov       ecx,0F
mov       rdx,7FFE28713548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE285A5108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28216B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE28713548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28216B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28795020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L08
 
mov       rax,rbx
jmp       near ptr M01_L22
M01_L09
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rbx,rax
jmp       near ptr M01_L21
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],r13d
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE2851CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r15d
cmp       r15d,ebx
jl        near ptr M01_L06
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE28527A60]; System.Text.StringBuilder.ToString()
mov       rbx,rax
test      rbx,rbx
je        short M01_L08
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       r14d,ecx
jge       short M01_L16
mov       [rsi+10],r14d
jmp       short M01_L17
M01_L16
 
mov       [rsi+10],ecx
jmp       near ptr M01_L08
M01_L17
 
cmp       dword ptr [rbx+8],0
je        short M01_L21
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M01_L18
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L19
M01_L18
 
call      qword ptr [7FFE28D0D758]
test      eax,eax
jne       near ptr M01_L09
M01_L19
 
mov       ecx,[rbx+8]
dec       ecx
cmp       ecx,[rbx+8]
jae       near ptr M01_L10
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M01_L20
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L21
M01_L20
 
call      qword ptr [7FFE28D0D758]
test      eax,eax
jne       near ptr M01_L09
M01_L21
 
mov       rax,rbx
M01_L22
 
mov       [rbp-48],rax
mov       rcx,rsp
call      M01_L28
nop
mov       rax,[rbp-48]
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L23
 
mov       rax,26EBBBC0008
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L24
 
call      qword ptr [7FFE2868EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L02
M01_L25
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-38]
cmp       [rcx],ecx
call      qword ptr [7FFE289FD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L26
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L03
M01_L26
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L04
M01_L27
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L05
M01_L28
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
mov       rcx,22E29C0CC38
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L29
call      qword ptr [7FFE2868EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rsi,rax
jmp       short M01_L30
M01_L29
 
mov       rsi,[rcx+18]
M01_L30
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L35
mov       rdi,[rsi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L31
mov       r14,[rbp-40]
mov       rcx,[r14+8]
mov       ecx,[rcx+8]
add       ecx,[r14+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L36
mov       rcx,r14
xor       edx,edx
call      qword ptr [7FFE2851C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L32
M01_L31
 
mov       rdx,[rbp-40]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r14,[rbp-40]
je        short M01_L36
M01_L32
 
cmp       qword ptr [rsi+20],0
jne       short M01_L33
lea       rcx,[rsi+20]
mov       rdx,r14
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L36
M01_L33
 
lea       rcx,[rsi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rsi+28]
jg        short M01_L34
mov       rcx,[rsi+18]
mov       rdx,r14
cmp       [rcx],ecx
call      qword ptr [7FFE289FD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L36
M01_L34
 
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       short M01_L36
M01_L35
 
mov       r14,[rbp-40]
mov       rcx,rsi
mov       rdx,r14
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L36
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeHash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
xor       edx,edx
call      qword ptr [7FFE286CCE28]; DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,40
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-48],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       esi,edx
test      rbx,rbx
je        near ptr M01_L22
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       r14d,[rdi+10]
inc       r14d
mov       ecx,r14d
mov       rdx,[rdi+8]
mov       r15d,[rdx+8]
cmp       ecx,r15d
jge       near ptr M01_L04
mov       [rdi+10],ecx
mov       rcx,rbx
mov       edx,esi
call      qword ptr [7FFE286CCDE0]; DotNetTips.Spargine.Extensions.StringExtensions.GetHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       rbx,rax
mov       rcx,291D880EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L23
mov       rcx,[rcx+18]
M01_L00
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L26
mov       rcx,[rsi+20]
mov       [rbp-38],rcx
cmp       qword ptr [rbp-38],0
je        near ptr M01_L24
lea       rcx,[rsi+20]
mov       r8,[rbp-38]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-38]
jne       near ptr M01_L24
M01_L01
 
mov       rdi,[rbp-38]
M01_L02
 
xor       ecx,ecx
mov       [rbp-38],rcx
M01_L03
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE284EC1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-40],rdi
jmp       short M01_L05
M01_L04
 
mov       [rdi+10],r15d
jmp       near ptr M01_L22
M01_L05
 
test      rbx,rbx
je        near ptr M01_L07
lea       rsi,[rbx+10]
mov       ebx,[rbx+8]
xor       r15d,r15d
test      ebx,ebx
jle       near ptr M01_L15
M01_L06
 
mov       ecx,r15d
movzx     ecx,byte ptr [rsi+rcx]
mov       r8,291D8800428
mov       r8,[r8]
mov       rdx,2D26A5E7740
call      qword ptr [7FFE28424810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        near ptr M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        near ptr M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       r13d,[rax+r8]
cmp       r13d,[rcx+8]
ja        near ptr M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        near ptr M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       near ptr M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       near ptr M01_L12
M01_L07
 
call      qword ptr [7FFE28765230]
mov       ecx,0F
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28575108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28765020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L08
 
mov       rax,rbx
jmp       near ptr M01_L21
M01_L09
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rbx,rax
jmp       near ptr M01_L20
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],r13d
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE284ECA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r15d
cmp       r15d,ebx
jl        near ptr M01_L06
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE284F7A60]; System.Text.StringBuilder.ToString()
mov       rbx,rax
test      rbx,rbx
je        short M01_L08
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       r14d,ecx
jge       short M01_L16
mov       [rsi+10],r14d
cmp       dword ptr [rbx+8],0
je        short M01_L20
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M01_L17
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L18
M01_L16
 
mov       [rsi+10],ecx
jmp       near ptr M01_L08
M01_L17
 
call      qword ptr [7FFE28CDD728]
test      eax,eax
jne       near ptr M01_L09
M01_L18
 
mov       ecx,[rbx+8]
dec       ecx
cmp       ecx,[rbx+8]
jae       near ptr M01_L10
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M01_L19
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L09
jmp       short M01_L20
M01_L19
 
call      qword ptr [7FFE28CDD728]
test      eax,eax
jne       near ptr M01_L09
M01_L20
 
mov       rax,rbx
M01_L21
 
mov       [rbp-48],rax
mov       rcx,rsp
call      M01_L27
nop
mov       rax,[rbp-48]
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       rax,2D26A5D0008
add       rsp,40
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L23
 
call      qword ptr [7FFE2865EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L00
M01_L24
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-38]
cmp       [rcx],ecx
call      qword ptr [7FFE289CD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L25
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L01
M01_L25
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L02
M01_L26
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L03
M01_L27
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
mov       rcx,291D880EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L28
call      qword ptr [7FFE2865EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rsi,rax
jmp       short M01_L29
M01_L28
 
mov       rsi,[rcx+18]
M01_L29
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L34
mov       rdi,[rsi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L30
mov       r14,[rbp-40]
mov       rcx,[r14+8]
mov       ecx,[rcx+8]
add       ecx,[r14+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L35
mov       rcx,r14
xor       edx,edx
call      qword ptr [7FFE284EC1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L31
M01_L30
 
mov       rdx,[rbp-40]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r14,[rbp-40]
je        short M01_L35
M01_L31
 
cmp       qword ptr [rsi+20],0
jne       short M01_L32
lea       rcx,[rsi+20]
mov       rdx,r14
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L35
M01_L32
 
lea       rcx,[rsi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rsi+28]
jg        short M01_L33
mov       rcx,[rsi+18]
mov       rdx,r14
cmp       [rcx],ecx
call      qword ptr [7FFE289CD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L35
M01_L33
 
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       short M01_L35
M01_L34
 
mov       r14,[rbp-40]
mov       rcx,rsi
mov       rdx,r14
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L35
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeHash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
xor       edx,edx
call      qword ptr [7FFE286ECE28]; DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
xor       eax,eax
mov       [rbp-50],rax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       esi,edx
test      rbx,rbx
je        near ptr M01_L22
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       r14d,[rdi+10]
inc       r14d
mov       ecx,r14d
mov       rdx,[rdi+8]
mov       r15d,[rdx+8]
cmp       ecx,r15d
jge       near ptr M01_L04
mov       [rdi+10],ecx
mov       rcx,rbx
mov       edx,esi
call      qword ptr [7FFE286ECDE0]; DotNetTips.Spargine.Extensions.StringExtensions.GetHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       rbx,rax
mov       rcx,195B140EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L23
mov       rcx,[rcx+18]
M01_L00
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L26
mov       rcx,[rsi+20]
mov       [rbp-40],rcx
cmp       qword ptr [rbp-40],0
je        near ptr M01_L24
lea       rcx,[rsi+20]
mov       r8,[rbp-40]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-40]
jne       near ptr M01_L24
M01_L01
 
mov       rdi,[rbp-40]
M01_L02
 
xor       ecx,ecx
mov       [rbp-40],rcx
M01_L03
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-48],rdi
jmp       short M01_L05
M01_L04
 
mov       [rdi+10],r15d
jmp       near ptr M01_L22
M01_L05
 
test      rbx,rbx
je        near ptr M01_L07
lea       r15,[rbx+10]
mov       ebx,[rbx+8]
xor       r13d,r13d
test      ebx,ebx
jle       near ptr M01_L15
M01_L06
 
mov       ecx,r13d
movzx     ecx,byte ptr [r15+rcx]
mov       r8,195B1400428
mov       r8,[r8]
mov       rdx,1D63F3E7740
call      qword ptr [7FFE28444810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        near ptr M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        near ptr M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       r12d,[rax+r8]
cmp       r12d,[rcx+8]
ja        near ptr M01_L09
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        near ptr M01_L12
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       near ptr M01_L13
movzx     eax,word ptr [rdx+2]
mov       [rcx+2],ax
jmp       near ptr M01_L13
M01_L07
 
call      qword ptr [7FFE28785230]
mov       ecx,0F
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       r12,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r12
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r15,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,r15
mov       rcx,r13
call      qword ptr [7FFE28496670]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L08
 
mov       rax,rbx
jmp       near ptr M01_L21
M01_L09
 
mov       rcx,rdi
call      qword ptr [7FFE2850CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
jmp       short M01_L14
M01_L10
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rbx,rax
jmp       near ptr M01_L20
M01_L11
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L12
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L13
 
mov       [rdi+18],r12d
M01_L14
 
inc       r13d
cmp       r13d,ebx
jl        near ptr M01_L06
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE28517A60]; System.Text.StringBuilder.ToString()
mov       rbx,rax
test      rbx,rbx
je        short M01_L08
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       r14d,ecx
jge       short M01_L16
mov       [rsi+10],r14d
cmp       dword ptr [rbx+8],0
je        short M01_L20
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M01_L17
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L10
jmp       short M01_L18
M01_L16
 
mov       [rsi+10],ecx
jmp       near ptr M01_L08
M01_L17
 
call      qword ptr [7FFE28CFDB90]
test      eax,eax
jne       near ptr M01_L10
M01_L18
 
mov       ecx,[rbx+8]
dec       ecx
cmp       ecx,[rbx+8]
jae       near ptr M01_L11
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M01_L19
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L10
jmp       short M01_L20
M01_L19
 
call      qword ptr [7FFE28CFDB90]
test      eax,eax
jne       near ptr M01_L10
M01_L20
 
mov       rax,rbx
M01_L21
 
mov       [rbp-50],rax
mov       rcx,rsp
call      M01_L27
nop
mov       rax,[rbp-50]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       rax,1D63F3D0008
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L23
 
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L00
M01_L24
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-40]
cmp       [rcx],ecx
call      qword ptr [7FFE289ED4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L25
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L01
M01_L25
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L02
M01_L26
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L03
M01_L27
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
mov       rcx,195B140EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L28
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rsi,rax
jmp       short M01_L29
M01_L28
 
mov       rsi,[rcx+18]
M01_L29
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L34
mov       rdi,[rsi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L30
mov       r14,[rbp-48]
mov       rcx,[r14+8]
mov       ecx,[rcx+8]
add       ecx,[r14+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L35
mov       rcx,r14
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L31
M01_L30
 
mov       rdx,[rbp-48]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r14,[rbp-48]
je        short M01_L35
M01_L31
 
cmp       qword ptr [rsi+20],0
jne       short M01_L32
lea       rcx,[rsi+20]
mov       rdx,r14
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L35
M01_L32
 
lea       rcx,[rsi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rsi+28]
jg        short M01_L33
mov       rcx,[rsi+18]
mov       rdx,r14
cmp       [rcx],ecx
call      qword ptr [7FFE289ED470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L35
M01_L33
 
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       short M01_L35
M01_L34
 
mov       r14,[rbp-48]
mov       rcx,rsi
mov       rdx,r14
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeHash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
xor       edx,edx
call      qword ptr [7FFE286CCE28]; DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.ComputeHash(System.String, DotNetTips.Spargine.Extensions.HashType)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
xor       eax,eax
mov       [rbp-50],rax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       esi,edx
test      rbx,rbx
je        near ptr M01_L22
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       r14d,[rdi+10]
inc       r14d
mov       ecx,r14d
mov       rdx,[rdi+8]
mov       r15d,[rdx+8]
cmp       ecx,r15d
jge       near ptr M01_L04
mov       [rdi+10],ecx
mov       rcx,rbx
mov       edx,esi
call      qword ptr [7FFE286CCDE0]; DotNetTips.Spargine.Extensions.StringExtensions.GetHash(System.String, DotNetTips.Spargine.Extensions.HashType)
mov       rbx,rax
mov       rcx,20A3480EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L23
mov       rcx,[rcx+18]
M01_L00
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L26
mov       rcx,[rsi+20]
mov       [rbp-40],rcx
cmp       qword ptr [rbp-40],0
je        near ptr M01_L24
lea       rcx,[rsi+20]
mov       r8,[rbp-40]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-40]
jne       near ptr M01_L24
M01_L01
 
mov       rdi,[rbp-40]
M01_L02
 
xor       ecx,ecx
mov       [rbp-40],rcx
M01_L03
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE284EC1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-48],rdi
jmp       short M01_L05
M01_L04
 
mov       [rdi+10],r15d
jmp       near ptr M01_L22
M01_L05
 
test      rbx,rbx
je        near ptr M01_L07
lea       r15,[rbx+10]
mov       ebx,[rbx+8]
xor       r13d,r13d
test      ebx,ebx
jle       near ptr M01_L15
M01_L06
 
mov       ecx,r13d
movzx     ecx,byte ptr [r15+rcx]
mov       r8,20A34800428
mov       r8,[r8]
mov       rdx,24AC65B7740
call      qword ptr [7FFE28424810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        near ptr M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        near ptr M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       r12d,[rax+r8]
cmp       r12d,[rcx+8]
ja        near ptr M01_L09
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        near ptr M01_L12
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       near ptr M01_L13
movzx     eax,word ptr [rdx+2]
mov       [rcx+2],ax
jmp       near ptr M01_L13
M01_L07
 
call      qword ptr [7FFE28765230]
mov       ecx,0F
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       r12,rax
mov       ecx,1464
mov       rdx,7FFE28575108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r12
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       r15,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE28765020]
mov       r8,rax
mov       rdx,r15
mov       rcx,r13
call      qword ptr [7FFE28476670]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L08
 
mov       rax,rbx
jmp       near ptr M01_L21
M01_L09
 
mov       rcx,rdi
call      qword ptr [7FFE284ECA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
jmp       short M01_L14
M01_L10
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rbx,rax
jmp       near ptr M01_L20
M01_L11
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L12
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L13
 
mov       [rdi+18],r12d
M01_L14
 
inc       r13d
cmp       r13d,ebx
jl        near ptr M01_L06
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE284F7A60]; System.Text.StringBuilder.ToString()
mov       rbx,rax
test      rbx,rbx
je        short M01_L08
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       r14d,ecx
jge       short M01_L16
mov       [rsi+10],r14d
cmp       dword ptr [rbx+8],0
je        short M01_L20
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M01_L17
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L10
jmp       short M01_L18
M01_L16
 
mov       [rsi+10],ecx
jmp       near ptr M01_L08
M01_L17
 
call      qword ptr [7FFE28CDDE60]
test      eax,eax
jne       near ptr M01_L10
M01_L18
 
mov       ecx,[rbx+8]
dec       ecx
cmp       ecx,[rbx+8]
jae       near ptr M01_L11
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M01_L19
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M01_L10
jmp       short M01_L20
M01_L19
 
call      qword ptr [7FFE28CDDE60]
test      eax,eax
jne       near ptr M01_L10
M01_L20
 
mov       rax,rbx
M01_L21
 
mov       [rbp-50],rax
mov       rcx,rsp
call      M01_L27
nop
mov       rax,[rbp-50]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       rax,24AC65A0008
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L23
 
call      qword ptr [7FFE2865EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L00
M01_L24
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-40]
cmp       [rcx],ecx
call      qword ptr [7FFE289CD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L25
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L01
M01_L25
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L02
M01_L26
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L03
M01_L27
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
mov       rcx,20A3480EC30
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L28
call      qword ptr [7FFE2865EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rsi,rax
jmp       short M01_L29
M01_L28
 
mov       rsi,[rcx+18]
M01_L29
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L34
mov       rdi,[rsi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L30
mov       r14,[rbp-48]
mov       rcx,[r14+8]
mov       ecx,[rcx+8]
add       ecx,[r14+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L35
mov       rcx,r14
xor       edx,edx
call      qword ptr [7FFE284EC1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L31
M01_L30
 
mov       rdx,[rbp-48]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r14,[rbp-48]
je        short M01_L35
M01_L31
 
cmp       qword ptr [rsi+20],0
jne       short M01_L32
lea       rcx,[rsi+20]
mov       rdx,r14
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L35
M01_L32
 
lea       rcx,[rsi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rsi+28]
jg        short M01_L33
mov       rcx,[rsi+18]
mov       rdx,r14
cmp       [rcx],ecx
call      qword ptr [7FFE289CD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L35
M01_L33
 
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       short M01_L35
M01_L34
 
mov       r14,[rbp-48]
mov       rcx,rsi
mov       rdx,r14
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithRemoveEmptyEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CDD080]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CDD080]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],1
mov       rdx,rax
mov       rcx,26A2AA27720
cmp       [rcx],ecx
call      qword ptr [7FFE2812A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,1
mov       r8d,7FFFFFFF
call      qword ptr [7FFE281E70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280A1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280A1060
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280A1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280A1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2844EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280A1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280A1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287652D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28765020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,26A2AA18468
mov       r8,rbx
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287650E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28765038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,26A2AA19EE0
mov       r8,rdi
call      qword ptr [7FFE2829D470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2844ED00]
int       3
M00_L29
 
mov       rcx,7FFE28125120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,2299CC02008
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280A1050
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280A1050
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L24
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L26
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L25
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L26
mov       rax,2299CC000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L60
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,26A2AA10020
cmp       rdi,rcx
je        near ptr M01_L27
mov       rcx,rdi
call      qword ptr [7FFE28136070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L29
mov       rcx,2299CC000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L60
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L30
test      rbp,rbp
je        near ptr M01_L23
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L19
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L19
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L40
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L20
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28607528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L31
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
M01_L19
 
mov       rcx,rbp
call      qword ptr [7FFE28136658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L20
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E45B78]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L36
mov       edx,edi
lea       rcx,[7FFE28D3BC50]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
xor       edi,edi
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B60]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B60]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B48]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B48]
jmp       near ptr M01_L16
M01_L24
 
mov       ecx,2E5
mov       rdx,7FFE28094000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284766E8]
int       3
M01_L25
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287ACD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287AC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281EF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L26
 
call      qword ptr [7FFE28137138]
int       3
M01_L27
 
mov       rcx,rbx
call      qword ptr [7FFE28134918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L28
mov       rdx,rsi
call      qword ptr [7FFE281E43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L28
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CA5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L29
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287C5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28476718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L30
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287ACDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287AC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281EF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L31
 
test      r15,r15
jne       short M01_L32
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L33
M01_L32
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L33
 
cmp       dword ptr [r15+8],20
jle       short M01_L34
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E478D0]
jmp       short M01_L35
M01_L34
 
mov       edx,r14d
call      qword ptr [7FFE28E47D98]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L35
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CA59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45440]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45440]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44D38]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44D20]
jmp       near ptr M01_L16
M01_L36
 
mov       rcx,26A2AA14010
cmp       rbp,rcx
je        short M01_L38
mov       rcx,26A2AA16560
cmp       rbp,rcx
je        short M01_L37
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287C5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28476718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L37
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44618]
jmp       short M01_L39
M01_L38
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE281E4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44618]
M01_L39
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L40
 
mov       r15,rbp
mov       rcx,r15
call      qword ptr [7FFE28136AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L41
mov       rcx,rbp
call      qword ptr [7FFE2812A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r15,rax
test      r15,r15
je        short M01_L41
mov       rcx,offset MT_System.RuntimeType
cmp       [r15],rcx
je        short M01_L41
mov       rdx,rax
call      qword ptr [7FFE281E43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L41
 
mov       rcx,26A2AA16498
cmp       r15,rcx
jne       short M01_L42
mov       edi,5
jmp       near ptr M01_L57
M01_L42
 
mov       rcx,26A2AA14198
cmp       r15,rcx
jne       short M01_L43
mov       edi,6
jmp       near ptr M01_L57
M01_L43
 
mov       rcx,26A2AA164C0
cmp       r15,rcx
jne       short M01_L44
mov       edi,7
jmp       near ptr M01_L57
M01_L44
 
mov       rcx,26A2AA14038
cmp       r15,rcx
jne       short M01_L45
mov       edi,8
jmp       near ptr M01_L57
M01_L45
 
mov       rcx,26A2AA14248
cmp       r15,rcx
jne       short M01_L46
mov       edi,9
jmp       near ptr M01_L57
M01_L46
 
mov       rcx,26A2AA13F48
cmp       r15,rcx
jne       short M01_L47
mov       edi,0A
jmp       near ptr M01_L57
M01_L47
 
mov       rcx,26A2AA164E8
cmp       r15,rcx
jne       short M01_L48
mov       edi,0B
jmp       near ptr M01_L57
M01_L48
 
mov       rcx,26A2AA13D90
cmp       r15,rcx
jne       short M01_L49
mov       edi,0C
jmp       near ptr M01_L57
M01_L49
 
mov       rcx,26A2AA16448
cmp       r15,rcx
jne       short M01_L50
mov       edi,3
jmp       near ptr M01_L57
M01_L50
 
mov       rcx,26A2AA16470
cmp       r15,rcx
jne       short M01_L51
mov       edi,4
jmp       near ptr M01_L57
M01_L51
 
mov       rcx,26A2AA16510
cmp       r15,rcx
jne       short M01_L52
mov       edi,0D
jmp       short M01_L57
M01_L52
 
mov       rcx,26A2AA16538
cmp       r15,rcx
jne       short M01_L53
mov       edi,0E
jmp       short M01_L57
M01_L53
 
mov       rcx,26A2AA171E0
cmp       r15,rcx
jne       short M01_L54
mov       edi,0F
jmp       short M01_L57
M01_L54
 
mov       rcx,26A2AA13C08
cmp       r15,rcx
jne       short M01_L55
mov       edi,10
jmp       short M01_L57
M01_L55
 
mov       rcx,26A2AA10020
cmp       r15,rcx
jne       short M01_L56
mov       edi,12
jmp       short M01_L57
M01_L56
 
mov       rcx,26A2AA24C60
mov       edi,1
mov       eax,2
cmp       r15,rcx
cmove     edi,eax
M01_L57
 
cmp       qword ptr [rbp+10],0
je        short M01_L58
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L58
jmp       short M01_L59
M01_L58
 
mov       rcx,rbp
call      qword ptr [7FFE28136658]; System.RuntimeType.InitializeCache()
M01_L59
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L60
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,39B7DCE57A75
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281E71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281E7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,2299CC01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289E1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,39B7DCE57A75
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281E7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE28094000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CAC888]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2844ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE281E7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,39B7DCE57A75
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2844E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithRemoveEmptyEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFFBA0]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFFBA0]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],1
mov       rdx,rax
mov       rcx,1AF0FE77720
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,1
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280C1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280C1060
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1AF0FE68468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287850E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28785038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,1AF0FE69EE0
mov       r8,rdi
call      qword ptr [7FFE282BD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2846ED00]
int       3
M00_L29
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,16E7E002008
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280C1050
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280C1050
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L25
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L24
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L25
mov       rax,16E7E0000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L59
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,1AF0FE60020
cmp       rdi,rcx
je        near ptr M01_L26
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L28
mov       rcx,16E7E0000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L59
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L29
test      rbp,rbp
je        near ptr M01_L22
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L39
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L20
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L30
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
cmp       edi,0A
ja        near ptr M01_L35
mov       edx,edi
lea       rcx,[7FFE28D6C798]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E65E18]
jmp       short M01_L17
M01_L22
 
xor       edi,edi
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65E00]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65E00]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65DE8]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65DE8]
jmp       near ptr M01_L17
M01_L23
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L24
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE28157138]
int       3
M01_L26
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L27
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L27
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L28
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L29
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L30
 
test      r15,r15
jne       short M01_L31
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L32
M01_L31
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L32
 
cmp       dword ptr [r15+8],20
jle       short M01_L33
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E67B70]
jmp       short M01_L34
M01_L33
 
mov       edx,r14d
call      qword ptr [7FFE28E6C048]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L34
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E656E0]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E656E0]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64FD8]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64FC0]
jmp       near ptr M01_L17
M01_L35
 
mov       rcx,1AF0FE64010
cmp       rbp,rcx
je        short M01_L37
mov       rcx,1AF0FE66560
cmp       rbp,rcx
je        short M01_L36
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E648B8]
jmp       short M01_L38
M01_L37
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E648B8]
M01_L38
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L39
 
mov       r15,rbp
mov       rcx,r15
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L40
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r15,rax
test      r15,r15
je        short M01_L40
mov       rcx,offset MT_System.RuntimeType
cmp       [r15],rcx
je        short M01_L40
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L40
 
mov       rcx,1AF0FE66498
cmp       r15,rcx
jne       short M01_L41
mov       edi,5
jmp       near ptr M01_L56
M01_L41
 
mov       rcx,1AF0FE64198
cmp       r15,rcx
jne       short M01_L42
mov       edi,6
jmp       near ptr M01_L56
M01_L42
 
mov       rcx,1AF0FE664C0
cmp       r15,rcx
jne       short M01_L43
mov       edi,7
jmp       near ptr M01_L56
M01_L43
 
mov       rcx,1AF0FE64038
cmp       r15,rcx
jne       short M01_L44
mov       edi,8
jmp       near ptr M01_L56
M01_L44
 
mov       rcx,1AF0FE64248
cmp       r15,rcx
jne       short M01_L45
mov       edi,9
jmp       near ptr M01_L56
M01_L45
 
mov       rcx,1AF0FE63F48
cmp       r15,rcx
jne       short M01_L46
mov       edi,0A
jmp       near ptr M01_L56
M01_L46
 
mov       rcx,1AF0FE664E8
cmp       r15,rcx
jne       short M01_L47
mov       edi,0B
jmp       near ptr M01_L56
M01_L47
 
mov       rcx,1AF0FE63D90
cmp       r15,rcx
jne       short M01_L48
mov       edi,0C
jmp       near ptr M01_L56
M01_L48
 
mov       rcx,1AF0FE66448
cmp       r15,rcx
jne       short M01_L49
mov       edi,3
jmp       near ptr M01_L56
M01_L49
 
mov       rcx,1AF0FE66470
cmp       r15,rcx
jne       short M01_L50
mov       edi,4
jmp       near ptr M01_L56
M01_L50
 
mov       rcx,1AF0FE66510
cmp       r15,rcx
jne       short M01_L51
mov       edi,0D
jmp       short M01_L56
M01_L51
 
mov       rcx,1AF0FE66538
cmp       r15,rcx
jne       short M01_L52
mov       edi,0E
jmp       short M01_L56
M01_L52
 
mov       rcx,1AF0FE671E0
cmp       r15,rcx
jne       short M01_L53
mov       edi,0F
jmp       short M01_L56
M01_L53
 
mov       rcx,1AF0FE63C08
cmp       r15,rcx
jne       short M01_L54
mov       edi,10
jmp       short M01_L56
M01_L54
 
mov       rcx,1AF0FE60020
cmp       r15,rcx
jne       short M01_L55
mov       edi,12
jmp       short M01_L56
M01_L55
 
mov       rcx,1AF0FE74C60
mov       edi,1
mov       eax,2
cmp       r15,rcx
cmove     edi,eax
M01_L56
 
cmp       qword ptr [rbp+10],0
je        short M01_L57
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L57
jmp       short M01_L58
M01_L57
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
M01_L58
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L59
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,21C215D64575
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,16E7E001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,21C215D64575
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCC888]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,21C215D64575
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithRemoveEmptyEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28DE4348]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28DE4348]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],1
mov       rdx,rax
mov       rcx,1B62CF37720
cmp       [rcx],ecx
call      qword ptr [7FFE2815A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,1
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280D1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280D1060
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2847EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287952D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28795020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1B62CF28468
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287950E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28795038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,1B62CF29EE0
mov       r8,rdi
call      qword ptr [7FFE282CD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2847ED00]
int       3
M00_L29
 
mov       rcx,7FFE28155120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1759B002010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L24
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L26
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L25
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L26
mov       rax,1759B0000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L60
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,1B62CF20020
cmp       rdi,rcx
je        near ptr M01_L27
mov       rcx,rdi
call      qword ptr [7FFE28166070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L29
mov       rcx,1759B0000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L60
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L30
test      rbp,rbp
je        near ptr M01_L23
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L19
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L19
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L40
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L20
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28637528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L31
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
M01_L19
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L20
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E66370]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L36
mov       edx,edi
lea       rcx,[7FFE28D6D610]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
xor       edi,edi
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66358]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66358]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66340]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66340]
jmp       near ptr M01_L16
M01_L24
 
mov       ecx,2E5
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L25
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L26
 
call      qword ptr [7FFE28167138]
int       3
M01_L27
 
mov       rcx,rbx
call      qword ptr [7FFE28164918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L28
mov       rdx,rsi
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L28
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CD5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L29
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284A6718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L30
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L31
 
test      r15,r15
jne       short M01_L32
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L33
M01_L32
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L33
 
cmp       dword ptr [r15+8],20
jle       short M01_L34
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E6C2B8]
jmp       short M01_L35
M01_L34
 
mov       edx,r14d
call      qword ptr [7FFE28E6C780]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L35
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CD59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65C38]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65C38]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65530]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65518]
jmp       near ptr M01_L16
M01_L36
 
mov       rcx,1B62CF24010
cmp       rbp,rcx
je        short M01_L38
mov       rcx,1B62CF26560
cmp       rbp,rcx
je        short M01_L37
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE284A6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L37
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64E10]
jmp       short M01_L39
M01_L38
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64E10]
M01_L39
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L40
 
mov       r15,rbp
mov       rcx,r15
call      qword ptr [7FFE28166AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L41
mov       rcx,rbp
call      qword ptr [7FFE2815A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r15,rax
test      r15,r15
je        short M01_L41
mov       rcx,offset MT_System.RuntimeType
cmp       [r15],rcx
je        short M01_L41
mov       rdx,rax
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L41
 
mov       rcx,1B62CF26498
cmp       r15,rcx
jne       short M01_L42
mov       edi,5
jmp       near ptr M01_L57
M01_L42
 
mov       rcx,1B62CF24198
cmp       r15,rcx
jne       short M01_L43
mov       edi,6
jmp       near ptr M01_L57
M01_L43
 
mov       rcx,1B62CF264C0
cmp       r15,rcx
jne       short M01_L44
mov       edi,7
jmp       near ptr M01_L57
M01_L44
 
mov       rcx,1B62CF24038
cmp       r15,rcx
jne       short M01_L45
mov       edi,8
jmp       near ptr M01_L57
M01_L45
 
mov       rcx,1B62CF24248
cmp       r15,rcx
jne       short M01_L46
mov       edi,9
jmp       near ptr M01_L57
M01_L46
 
mov       rcx,1B62CF23F48
cmp       r15,rcx
jne       short M01_L47
mov       edi,0A
jmp       near ptr M01_L57
M01_L47
 
mov       rcx,1B62CF264E8
cmp       r15,rcx
jne       short M01_L48
mov       edi,0B
jmp       near ptr M01_L57
M01_L48
 
mov       rcx,1B62CF23D90
cmp       r15,rcx
jne       short M01_L49
mov       edi,0C
jmp       near ptr M01_L57
M01_L49
 
mov       rcx,1B62CF26448
cmp       r15,rcx
jne       short M01_L50
mov       edi,3
jmp       near ptr M01_L57
M01_L50
 
mov       rcx,1B62CF26470
cmp       r15,rcx
jne       short M01_L51
mov       edi,4
jmp       near ptr M01_L57
M01_L51
 
mov       rcx,1B62CF26510
cmp       r15,rcx
jne       short M01_L52
mov       edi,0D
jmp       short M01_L57
M01_L52
 
mov       rcx,1B62CF26538
cmp       r15,rcx
jne       short M01_L53
mov       edi,0E
jmp       short M01_L57
M01_L53
 
mov       rcx,1B62CF271E0
cmp       r15,rcx
jne       short M01_L54
mov       edi,0F
jmp       short M01_L57
M01_L54
 
mov       rcx,1B62CF23C08
cmp       r15,rcx
jne       short M01_L55
mov       edi,10
jmp       short M01_L57
M01_L55
 
mov       rcx,1B62CF20020
cmp       r15,rcx
jne       short M01_L56
mov       edi,12
jmp       short M01_L57
M01_L56
 
mov       rcx,1B62CF34C60
mov       edi,1
mov       eax,2
cmp       r15,rcx
cmove     edi,eax
M01_L57
 
cmp       qword ptr [rbp+10],0
je        short M01_L58
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L58
jmp       short M01_L59
M01_L58
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
M01_L59
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L60
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,81B8E2FDAE4D
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282171B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1759B001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,81B8E2FDAE4D
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CDCBB8]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28217150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,81B8E2FDAE4D
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2847E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithRemoveEmptyEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L03
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
M00_L02
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L03
 
call      qword ptr [7FFE28D1FCC0]
test      eax,eax
jne       near ptr M00_L25
jmp       short M00_L02
M00_L04
 
call      qword ptr [7FFE28D1FCC0]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],1
mov       rdx,rax
mov       rcx,263743E7720
cmp       [rcx],ecx
call      qword ptr [7FFE2816A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,1
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282270C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280E1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280E1060
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280E1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280E1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2848EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280E1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280E1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287A52D8]
mov       rsi,rax
test      rsi,rsi
jne       short M00_L24
call      qword ptr [7FFE287A5020]
mov       rsi,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,263743D8468
mov       r8,rsi
call      qword ptr [7FFE284B6670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282273F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287A50E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE287A5038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,263743D9EE0
mov       r8,rdi
call      qword ptr [7FFE282DD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2848ED00]
int       3
M00_L29
 
mov       rcx,7FFE28165120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,222E2402010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280E1050
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280E1050
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L47
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L49
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L48
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L49
mov       rax,222E24000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L64
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,263743D0020
cmp       rdi,rcx
je        near ptr M01_L50
mov       rcx,rdi
call      qword ptr [7FFE28176070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L52
mov       rcx,222E24000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L64
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L53
test      rbp,rbp
je        near ptr M01_L23
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L19
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L19
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L24
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L20
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28647528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L54
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
M01_L19
 
mov       rcx,rbp
call      qword ptr [7FFE28176658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L20
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E85A40]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L59
mov       edx,edi
lea       rcx,[7FFE28D8DBC8]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
xor       edi,edi
jmp       near ptr M01_L10
M01_L24
 
mov       rdi,rbp
mov       rcx,rdi
call      qword ptr [7FFE28176AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L28
M01_L25
 
mov       rcx,263743D6498
cmp       rdi,rcx
je        near ptr M01_L43
mov       rcx,263743D4198
cmp       rdi,rcx
je        near ptr M01_L31
mov       rcx,263743D64C0
cmp       rdi,rcx
je        near ptr M01_L42
mov       rcx,263743D4038
cmp       rdi,rcx
je        near ptr M01_L39
mov       rcx,263743D4248
cmp       rdi,rcx
je        near ptr M01_L30
mov       rcx,263743D3F48
cmp       rdi,rcx
je        near ptr M01_L32
mov       rcx,263743D64E8
cmp       rdi,rcx
je        near ptr M01_L38
mov       rcx,263743D3D90
cmp       rdi,rcx
je        near ptr M01_L37
mov       rcx,263743D6448
cmp       rdi,rcx
je        near ptr M01_L36
mov       rcx,263743D6470
cmp       rdi,rcx
je        near ptr M01_L46
mov       rcx,263743D6510
cmp       rdi,rcx
je        near ptr M01_L41
mov       rcx,263743D6538
cmp       rdi,rcx
je        near ptr M01_L35
mov       rcx,263743D71E0
cmp       rdi,rcx
je        near ptr M01_L45
mov       rcx,263743D3C08
cmp       rdi,rcx
je        near ptr M01_L44
mov       rcx,263743D0020
cmp       rdi,rcx
je        near ptr M01_L34
mov       rcx,263743E4C60
mov       r14d,1
mov       eax,2
cmp       rdi,rcx
cmove     r14d,eax
M01_L26
 
mov       edi,r14d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L40
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L40
M01_L27
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L28
 
mov       rcx,rbp
call      qword ptr [7FFE2816A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       rdi,rax
test      rdi,rdi
jne       short M01_L33
M01_L29
 
jmp       near ptr M01_L25
M01_L30
 
mov       r14d,9
jmp       short M01_L26
M01_L31
 
mov       r14d,6
jmp       short M01_L26
M01_L32
 
mov       r14d,0A
jmp       short M01_L26
M01_L33
 
mov       rcx,offset MT_System.RuntimeType
cmp       [rdi],rcx
jne       near ptr M01_L63
jmp       short M01_L29
M01_L34
 
mov       r14d,12
jmp       short M01_L26
M01_L35
 
mov       r14d,0E
jmp       short M01_L26
M01_L36
 
mov       r14d,3
jmp       near ptr M01_L26
M01_L37
 
mov       r14d,0C
jmp       near ptr M01_L26
M01_L38
 
mov       r14d,0B
jmp       near ptr M01_L26
M01_L39
 
mov       r14d,8
jmp       near ptr M01_L26
M01_L40
 
mov       rcx,rbp
call      qword ptr [7FFE28176658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L27
M01_L41
 
mov       r14d,0D
jmp       near ptr M01_L26
M01_L42
 
mov       r14d,7
jmp       near ptr M01_L26
M01_L43
 
mov       r14d,5
jmp       near ptr M01_L26
M01_L44
 
mov       r14d,10
jmp       near ptr M01_L26
M01_L45
 
mov       r14d,0F
jmp       near ptr M01_L26
M01_L46
 
mov       r14d,4
jmp       near ptr M01_L26
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85A28]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85A28]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85A10]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85A10]
jmp       near ptr M01_L16
M01_L47
 
mov       ecx,2E5
mov       rdx,7FFE280D4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284B66E8]
int       3
M01_L48
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287ECD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287EC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2822F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L49
 
call      qword ptr [7FFE28177138]
int       3
M01_L50
 
mov       rcx,rbx
call      qword ptr [7FFE28174918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L51
mov       rdx,rsi
call      qword ptr [7FFE282243F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L51
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CE5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L52
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE28805170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284B6718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L53
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287ECDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287EC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2822F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L54
 
test      r15,r15
jne       short M01_L55
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L56
M01_L55
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L56
 
cmp       dword ptr [r15+8],20
jle       short M01_L57
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E87798]
jmp       short M01_L58
M01_L57
 
mov       edx,r14d
call      qword ptr [7FFE28E87C60]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L58
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CE59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85308]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85308]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E84C00]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E84BE8]
jmp       near ptr M01_L16
M01_L59
 
mov       rcx,263743D4010
cmp       rbp,rcx
je        short M01_L61
mov       rcx,263743D6560
cmp       rbp,rcx
je        short M01_L60
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28805170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE284B6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L60
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E844E0]
jmp       short M01_L62
M01_L61
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E844E0]
M01_L62
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L63
 
mov       rdx,rax
call      qword ptr [7FFE282243F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L64
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,259052B957F5
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282271B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28227198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,222E2401F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A21D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,259052B957F5
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28227180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280D4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CEC888]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2848ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28227150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,259052B957F5
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2848E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithRemoveEmptyEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFD758]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFD758]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],1
mov       rdx,rax
mov       rcx,1997E807740
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,1
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280C1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280C1060
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1997E7F8468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287850E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28785038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,1997E7F9EE0
mov       r8,rdi
call      qword ptr [7FFE282BD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2846ED00]
int       3
M00_L29
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,158EC802010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280C1050
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280C1050
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L25
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L24
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L25
mov       rax,158EC8000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L59
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,1997E7F0020
cmp       rdi,rcx
je        near ptr M01_L26
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L28
mov       rcx,158EC8000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L59
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L29
test      rbp,rbp
je        near ptr M01_L22
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L39
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L20
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L30
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
cmp       edi,0A
ja        near ptr M01_L35
mov       edx,edi
lea       rcx,[7FFE28D7E038]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E56250]
jmp       short M01_L17
M01_L22
 
xor       edi,edi
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L17
M01_L23
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L24
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE28157138]
int       3
M01_L26
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L27
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L27
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC6DA8]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L28
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L29
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L30
 
test      r15,r15
jne       short M01_L31
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L32
M01_L31
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L32
 
cmp       dword ptr [r15+8],20
jle       short M01_L33
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E57FA8]
jmp       short M01_L34
M01_L33
 
mov       edx,r14d
call      qword ptr [7FFE28E5C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L34
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55410]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E553F8]
jmp       near ptr M01_L17
M01_L35
 
mov       rcx,1997E7F4010
cmp       rbp,rcx
je        short M01_L37
mov       rcx,1997E7F6560
cmp       rbp,rcx
je        short M01_L36
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
jmp       short M01_L38
M01_L37
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
M01_L38
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L39
 
mov       r15,rbp
mov       rcx,r15
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L40
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r15,rax
test      r15,r15
je        short M01_L40
mov       rcx,offset MT_System.RuntimeType
cmp       [r15],rcx
je        short M01_L40
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L40
 
mov       rcx,1997E7F6498
cmp       r15,rcx
jne       short M01_L41
mov       edi,5
jmp       near ptr M01_L56
M01_L41
 
mov       rcx,1997E7F4198
cmp       r15,rcx
jne       short M01_L42
mov       edi,6
jmp       near ptr M01_L56
M01_L42
 
mov       rcx,1997E7F64C0
cmp       r15,rcx
jne       short M01_L43
mov       edi,7
jmp       near ptr M01_L56
M01_L43
 
mov       rcx,1997E7F4038
cmp       r15,rcx
jne       short M01_L44
mov       edi,8
jmp       near ptr M01_L56
M01_L44
 
mov       rcx,1997E7F4248
cmp       r15,rcx
jne       short M01_L45
mov       edi,9
jmp       near ptr M01_L56
M01_L45
 
mov       rcx,1997E7F3F48
cmp       r15,rcx
jne       short M01_L46
mov       edi,0A
jmp       near ptr M01_L56
M01_L46
 
mov       rcx,1997E7F64E8
cmp       r15,rcx
jne       short M01_L47
mov       edi,0B
jmp       near ptr M01_L56
M01_L47
 
mov       rcx,1997E7F3D90
cmp       r15,rcx
jne       short M01_L48
mov       edi,0C
jmp       near ptr M01_L56
M01_L48
 
mov       rcx,1997E7F6448
cmp       r15,rcx
jne       short M01_L49
mov       edi,3
jmp       near ptr M01_L56
M01_L49
 
mov       rcx,1997E7F6470
cmp       r15,rcx
jne       short M01_L50
mov       edi,4
jmp       near ptr M01_L56
M01_L50
 
mov       rcx,1997E7F6510
cmp       r15,rcx
jne       short M01_L51
mov       edi,0D
jmp       short M01_L56
M01_L51
 
mov       rcx,1997E7F6538
cmp       r15,rcx
jne       short M01_L52
mov       edi,0E
jmp       short M01_L56
M01_L52
 
mov       rcx,1997E7F71E0
cmp       r15,rcx
jne       short M01_L53
mov       edi,0F
jmp       short M01_L56
M01_L53
 
mov       rcx,1997E7F3C08
cmp       r15,rcx
jne       short M01_L54
mov       edi,10
jmp       short M01_L56
M01_L54
 
mov       rcx,1997E7F0020
cmp       r15,rcx
jne       short M01_L55
mov       edi,12
jmp       short M01_L56
M01_L55
 
mov       rcx,1997E804C60
mov       edi,1
mov       eax,2
cmp       r15,rcx
cmove     edi,eax
M01_L56
 
cmp       qword ptr [rbp+10],0
je        short M01_L57
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L57
jmp       short M01_L58
M01_L57
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
M01_L58
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L59
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,1858E0A2937B
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,158EC801F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,1858E0A2937B
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCDCB0]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,1858E0A2937B
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithRemoveEmptyEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFD728]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFD728]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],1
mov       rdx,rax
mov       rcx,295ABD67740
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,1
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F40
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,295ABD58468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287850E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28785038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,295ABD59EE0
mov       r8,rdi
call      qword ptr [7FFE282BD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2846ED00]
int       3
M00_L29
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,2551A002010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280C0F30
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280C0F30
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L53
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L55
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L54
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L55
mov       rax,2551A0000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L62
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,295ABD50020
cmp       rdi,rcx
je        near ptr M01_L56
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L58
mov       rcx,2551A0000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L62
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L59
test      rbp,rbp
je        near ptr M01_L25
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       r14d,[rax+90]
test      r14d,r14d
je        near ptr M01_L23
M01_L10
 
add       r14d,0FFFFFFFC
cmp       r14d,5
jne       near ptr M01_L60
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r15d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L17
 
mov       r13,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L44
mov       eax,r15d
mov       ecx,[r13+8]
cmp       rcx,rax
seta      al
movzx     eax,al
jmp       short M01_L16
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
mov       rcx,295ABD64C60
mov       r15d,1
mov       eax,2
cmp       r14,rcx
cmove     r15d,eax
M01_L21
 
mov       r14d,r15d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L38
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L38
M01_L22
 
mov       [rax+90],r14d
jmp       near ptr M01_L10
M01_L23
 
mov       r14,rbp
mov       rcx,r14
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L26
M01_L24
 
mov       rcx,295ABD56498
cmp       r14,rcx
je        near ptr M01_L41
mov       rcx,295ABD54198
cmp       r14,rcx
je        near ptr M01_L29
mov       rcx,295ABD564C0
cmp       r14,rcx
je        near ptr M01_L40
mov       rcx,295ABD54038
cmp       r14,rcx
je        near ptr M01_L37
mov       rcx,295ABD54248
cmp       r14,rcx
je        near ptr M01_L28
mov       rcx,295ABD53F48
cmp       r14,rcx
je        near ptr M01_L30
mov       rcx,295ABD564E8
cmp       r14,rcx
je        near ptr M01_L36
mov       rcx,295ABD53D90
cmp       r14,rcx
je        near ptr M01_L35
mov       rcx,295ABD56448
cmp       r14,rcx
je        near ptr M01_L34
mov       rcx,295ABD56470
cmp       r14,rcx
je        near ptr M01_L43
mov       rcx,295ABD56510
cmp       r14,rcx
je        near ptr M01_L39
mov       rcx,295ABD56538
cmp       r14,rcx
je        near ptr M01_L33
mov       rcx,295ABD571E0
cmp       r14,rcx
je        near ptr M01_L42
mov       rcx,295ABD53C08
cmp       r14,rcx
je        short M01_L32
mov       rcx,295ABD50020
cmp       r14,rcx
jne       near ptr M01_L20
mov       r15d,12
jmp       near ptr M01_L21
M01_L25
 
xor       r14d,r14d
jmp       near ptr M01_L10
M01_L26
 
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r14,rax
test      r14,r14
jne       short M01_L31
M01_L27
 
jmp       near ptr M01_L24
M01_L28
 
mov       r15d,9
jmp       near ptr M01_L21
M01_L29
 
mov       r15d,6
jmp       near ptr M01_L21
M01_L30
 
mov       r15d,0A
jmp       near ptr M01_L21
M01_L31
 
mov       rcx,offset MT_System.RuntimeType
cmp       [r14],rcx
jne       near ptr M01_L61
jmp       short M01_L27
M01_L32
 
mov       r15d,10
jmp       near ptr M01_L21
M01_L33
 
mov       r15d,0E
jmp       near ptr M01_L21
M01_L34
 
mov       r15d,3
jmp       near ptr M01_L21
M01_L35
 
mov       r15d,0C
jmp       near ptr M01_L21
M01_L36
 
mov       r15d,0B
jmp       near ptr M01_L21
M01_L37
 
mov       r15d,8
jmp       near ptr M01_L21
M01_L38
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L22
M01_L39
 
mov       r15d,0D
jmp       near ptr M01_L21
M01_L40
 
mov       r15d,7
jmp       near ptr M01_L21
M01_L41
 
mov       r15d,5
jmp       near ptr M01_L21
M01_L42
 
mov       r15d,0F
jmp       near ptr M01_L21
M01_L43
 
mov       r15d,4
jmp       near ptr M01_L21
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L16
M01_L44
 
test      r13,r13
jne       short M01_L45
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L46
M01_L45
 
lea       rcx,[r13+10]
mov       r8d,[r13+8]
M01_L46
 
cmp       dword ptr [r13+8],20
jle       short M01_L47
mov       edx,r8d
mov       r8d,r15d
call      qword ptr [7FFE28E57FA8]
jmp       short M01_L48
M01_L47
 
mov       edx,r15d
call      qword ptr [7FFE28E5C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L48
 
not       eax
shr       eax,1F
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC6B80]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55410]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E553F8]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Char
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56250]
jmp       near ptr M01_L16
M01_L49
 
mov       rcx,295ABD54010
cmp       rbp,rcx
je        short M01_L51
mov       rcx,295ABD56560
cmp       rbp,rcx
je        short M01_L50
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L50
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
jmp       short M01_L52
M01_L51
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
M01_L52
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L53
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L54
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L55
 
call      qword ptr [7FFE28157138]
int       3
M01_L56
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L57
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L57
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC6B50]
not       eax
shr       eax,1F
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L58
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L59
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE2820F708]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L60
 
cmp       r14d,0A
ja        near ptr M01_L49
mov       edx,r14d
lea       rcx,[7FFE28D8E408]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L61
 
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L62
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,4C4B5027A907
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,2551A001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,4C4B5027A907
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCDD88]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,4C4B5027A907
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithRemoveEmptyEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CED4A0]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CED4A0]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],1
mov       rdx,rax
mov       rcx,1A6B5C27740
cmp       [rcx],ecx
call      qword ptr [7FFE2813A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,1
mov       r8d,7FFFFFFF
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280B0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280B0F40
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280B0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L20
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L16
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L17
 
mov       rcx,rsi
mov       r11,7FFE280B0F28
call      qword ptr [r11]
mov       r12,rax
jmp       short M00_L14
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2845EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280B0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280B0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L17
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1A6B5C18468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287750E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28775038]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,1A6B5C19EE0
mov       r8,rbx
call      qword ptr [7FFE282AD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2845ED00]
int       3
M00_L29
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,16623C02010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280B0F30
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280B0F30
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L30
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L32
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L31
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L32
mov       rax,16623C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,1A6B5C10020
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,rdi
call      qword ptr [7FFE28146070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L35
mov       rcx,16623C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L36
test      rbp,rbp
je        near ptr M01_L20
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L16
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L16
M01_L09
 
mov       r14d,[rax+90]
test      r14d,r14d
je        near ptr M01_L37
M01_L10
 
add       r14d,0FFFFFFFC
cmp       r14d,5
jne       near ptr M01_L57
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r15d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28617528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L17
 
mov       r13,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L21
mov       eax,r15d
mov       ecx,[r13+8]
cmp       rcx,rax
seta      al
movzx     eax,al
M01_L18
 
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
xor       r14d,r14d
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46238]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46238]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46220]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46220]
jmp       near ptr M01_L18
M01_L21
 
test      r13,r13
jne       short M01_L22
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L23
M01_L22
 
lea       rcx,[r13+10]
mov       r8d,[r13+8]
M01_L23
 
cmp       dword ptr [r13+8],20
jle       short M01_L24
mov       edx,r8d
mov       r8d,r15d
call      qword ptr [7FFE28E47FA8]
jmp       short M01_L25
M01_L24
 
mov       edx,r15d
call      qword ptr [7FFE28E4C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L25
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CB6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B18]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B18]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45410]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E453F8]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Char
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46250]
jmp       near ptr M01_L18
M01_L26
 
mov       rcx,1A6B5C14010
cmp       rbp,rcx
je        short M01_L28
mov       rcx,1A6B5C16560
cmp       rbp,rcx
je        short M01_L27
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L27
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44CF0]
jmp       short M01_L29
M01_L28
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44CF0]
M01_L29
 
movzx     eax,al
jmp       near ptr M01_L18
M01_L30
 
mov       ecx,2E5
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284866E8]
int       3
M01_L31
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287BCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281FF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L32
 
call      qword ptr [7FFE28147138]
int       3
M01_L33
 
mov       rcx,rbx
call      qword ptr [7FFE28144918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L34
mov       rdx,rsi
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L34
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CB6DA8]
not       eax
shr       eax,1F
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L35
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28486718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
call      qword ptr [7FFE287BCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE281FF708]
mov       rcx,r14
call      CORINFO_HELP_THROW
M01_L37
 
mov       r13,rbp
mov       rcx,r13
call      qword ptr [7FFE28146AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L38
mov       rcx,rbp
call      qword ptr [7FFE2813A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r13,rax
test      r13,r13
je        short M01_L38
mov       rcx,offset MT_System.RuntimeType
cmp       [r13],rcx
je        short M01_L38
mov       rdx,rax
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L38
 
mov       rcx,1A6B5C16498
cmp       r13,rcx
jne       short M01_L39
mov       r14d,5
jmp       near ptr M01_L54
M01_L39
 
mov       rcx,1A6B5C14198
cmp       r13,rcx
jne       short M01_L40
mov       r14d,6
jmp       near ptr M01_L54
M01_L40
 
mov       rcx,1A6B5C164C0
cmp       r13,rcx
jne       short M01_L41
mov       r14d,7
jmp       near ptr M01_L54
M01_L41
 
mov       rcx,1A6B5C14038
cmp       r13,rcx
jne       short M01_L42
mov       r14d,8
jmp       near ptr M01_L54
M01_L42
 
mov       rcx,1A6B5C14248
cmp       r13,rcx
jne       short M01_L43
mov       r14d,9
jmp       near ptr M01_L54
M01_L43
 
mov       rcx,1A6B5C13F48
cmp       r13,rcx
jne       short M01_L44
mov       r14d,0A
jmp       near ptr M01_L54
M01_L44
 
mov       rcx,1A6B5C164E8
cmp       r13,rcx
jne       short M01_L45
mov       r14d,0B
jmp       near ptr M01_L54
M01_L45
 
mov       rcx,1A6B5C13D90
cmp       r13,rcx
jne       short M01_L46
mov       r14d,0C
jmp       near ptr M01_L54
M01_L46
 
mov       rcx,1A6B5C16448
cmp       r13,rcx
jne       short M01_L47
mov       r14d,3
jmp       near ptr M01_L54
M01_L47
 
mov       rcx,1A6B5C16470
cmp       r13,rcx
jne       short M01_L48
mov       r14d,4
jmp       near ptr M01_L54
M01_L48
 
mov       rcx,1A6B5C16510
cmp       r13,rcx
jne       short M01_L49
mov       r14d,0D
jmp       short M01_L54
M01_L49
 
mov       rcx,1A6B5C16538
cmp       r13,rcx
jne       short M01_L50
mov       r14d,0E
jmp       short M01_L54
M01_L50
 
mov       rcx,1A6B5C171E0
cmp       r13,rcx
jne       short M01_L51
mov       r14d,0F
jmp       short M01_L54
M01_L51
 
mov       rcx,1A6B5C13C08
cmp       r13,rcx
jne       short M01_L52
mov       r14d,10
jmp       short M01_L54
M01_L52
 
mov       rcx,1A6B5C10020
cmp       r13,rcx
jne       short M01_L53
mov       r14d,12
jmp       short M01_L54
M01_L53
 
mov       rcx,1A6B5C24C60
mov       r14d,1
mov       eax,2
cmp       r13,rcx
cmove     r14d,eax
M01_L54
 
cmp       qword ptr [rbp+10],0
je        short M01_L55
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L55
jmp       short M01_L56
M01_L55
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
M01_L56
 
mov       [rax+90],r14d
jmp       near ptr M01_L10
M01_L57
 
cmp       r14d,0A
ja        near ptr M01_L26
mov       edx,r14d
lea       rcx,[7FFE28D6B490]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L58
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,9359FB13E900
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,16623C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,9359FB13E900
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CBDCB0]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE281F7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,9359FB13E900
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2845E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithRemoveEmptyEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFD4A0]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFD4A0]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],1
mov       rdx,rax
mov       rcx,2FACB637740
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,1
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F40
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L20
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L16
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L17
 
mov       rcx,rsi
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r12,rax
jmp       short M00_L14
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L17
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,2FACB628468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287850E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28785038]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,2FACB629EE0
mov       r8,rbx
call      qword ptr [7FFE282BD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2846ED00]
int       3
M00_L29
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,2BA39802010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280C0F30
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280C0F30
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L30
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L32
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L31
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L32
mov       rax,2BA398000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,2FACB620020
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L35
mov       rcx,2BA398000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L36
test      rbp,rbp
je        near ptr M01_L20
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L16
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L16
M01_L09
 
mov       r14d,[rax+90]
test      r14d,r14d
je        near ptr M01_L37
M01_L10
 
add       r14d,0FFFFFFFC
cmp       r14d,5
jne       near ptr M01_L57
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r15d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L17
 
mov       r13,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L21
mov       eax,r15d
mov       ecx,[r13+8]
cmp       rcx,rax
seta      al
movzx     eax,al
M01_L18
 
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
xor       r14d,r14d
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E566B8]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E566B8]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E566A0]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E566A0]
jmp       near ptr M01_L18
M01_L21
 
test      r13,r13
jne       short M01_L22
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L23
M01_L22
 
lea       rcx,[r13+10]
mov       r8d,[r13+8]
M01_L23
 
cmp       dword ptr [r13+8],20
jle       short M01_L24
mov       edx,r8d
mov       r8d,r15d
call      qword ptr [7FFE28E5C450]
jmp       short M01_L25
M01_L24
 
mov       edx,r15d
call      qword ptr [7FFE28E5C918]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L25
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55F98]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55F98]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55890]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55878]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Char
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E566D0]
jmp       near ptr M01_L18
M01_L26
 
mov       rcx,2FACB624010
cmp       rbp,rcx
je        short M01_L28
mov       rcx,2FACB626560
cmp       rbp,rcx
je        short M01_L27
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L27
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55170]
jmp       short M01_L29
M01_L28
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55170]
M01_L29
 
movzx     eax,al
jmp       near ptr M01_L18
M01_L30
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L31
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L32
 
call      qword ptr [7FFE28157138]
int       3
M01_L33
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L34
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L34
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC6DA8]
not       eax
shr       eax,1F
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L35
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE2820F708]
mov       rcx,r14
call      CORINFO_HELP_THROW
M01_L37
 
mov       r13,rbp
mov       rcx,r13
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L38
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r13,rax
test      r13,r13
je        short M01_L38
mov       rcx,offset MT_System.RuntimeType
cmp       [r13],rcx
je        short M01_L38
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L38
 
mov       rcx,2FACB626498
cmp       r13,rcx
jne       short M01_L39
mov       r14d,5
jmp       near ptr M01_L54
M01_L39
 
mov       rcx,2FACB624198
cmp       r13,rcx
jne       short M01_L40
mov       r14d,6
jmp       near ptr M01_L54
M01_L40
 
mov       rcx,2FACB6264C0
cmp       r13,rcx
jne       short M01_L41
mov       r14d,7
jmp       near ptr M01_L54
M01_L41
 
mov       rcx,2FACB624038
cmp       r13,rcx
jne       short M01_L42
mov       r14d,8
jmp       near ptr M01_L54
M01_L42
 
mov       rcx,2FACB624248
cmp       r13,rcx
jne       short M01_L43
mov       r14d,9
jmp       near ptr M01_L54
M01_L43
 
mov       rcx,2FACB623F48
cmp       r13,rcx
jne       short M01_L44
mov       r14d,0A
jmp       near ptr M01_L54
M01_L44
 
mov       rcx,2FACB6264E8
cmp       r13,rcx
jne       short M01_L45
mov       r14d,0B
jmp       near ptr M01_L54
M01_L45
 
mov       rcx,2FACB623D90
cmp       r13,rcx
jne       short M01_L46
mov       r14d,0C
jmp       near ptr M01_L54
M01_L46
 
mov       rcx,2FACB626448
cmp       r13,rcx
jne       short M01_L47
mov       r14d,3
jmp       near ptr M01_L54
M01_L47
 
mov       rcx,2FACB626470
cmp       r13,rcx
jne       short M01_L48
mov       r14d,4
jmp       near ptr M01_L54
M01_L48
 
mov       rcx,2FACB626510
cmp       r13,rcx
jne       short M01_L49
mov       r14d,0D
jmp       short M01_L54
M01_L49
 
mov       rcx,2FACB626538
cmp       r13,rcx
jne       short M01_L50
mov       r14d,0E
jmp       short M01_L54
M01_L50
 
mov       rcx,2FACB6271E0
cmp       r13,rcx
jne       short M01_L51
mov       r14d,0F
jmp       short M01_L54
M01_L51
 
mov       rcx,2FACB623C08
cmp       r13,rcx
jne       short M01_L52
mov       r14d,10
jmp       short M01_L54
M01_L52
 
mov       rcx,2FACB620020
cmp       r13,rcx
jne       short M01_L53
mov       r14d,12
jmp       short M01_L54
M01_L53
 
mov       rcx,2FACB634C60
mov       r14d,1
mov       eax,2
cmp       r13,rcx
cmove     r14d,eax
M01_L54
 
cmp       qword ptr [rbp+10],0
je        short M01_L55
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L55
jmp       short M01_L56
M01_L55
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
M01_L56
 
mov       [rax+90],r14d
jmp       near ptr M01_L10
M01_L57
 
cmp       r14d,0A
ja        near ptr M01_L26
mov       edx,r14d
lea       rcx,[7FFE28D7C9C0]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L58
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0C19A5F0B897A
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L05
test      r14d,0FFFFFFFC
jne       near ptr M02_L06
M02_L00
 
cmp       edi,1
jle       near ptr M02_L07
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L07
cmp       dword ptr [rbx+8],0
je        near ptr M02_L09
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L10
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L11
test      r14d,r14d
je        near ptr M02_L12
xor       r15d,r15d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r15
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,2BA39801F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rdi
mov       rcx,0C19A5F0B897A
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCDCB0]
int       3
M02_L06
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L07
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0C19A5F0B897A
cmp       [rbp],rcx
je        short M02_L08
call      CORINFO_HELP_FAIL_FAST
M02_L08
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L09
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L10
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L11
 
mov       edi,1
jmp       near ptr M02_L00
M02_L12
 
xor       r15d,r15d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r15
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       near ptr M02_L02
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntriesCount()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-58],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-70],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L26
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CED470]
test      eax,eax
jne       near ptr M00_L28
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L38
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CED470]
test      eax,eax
jne       near ptr M00_L28
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,18E0A0E7720
cmp       [rcx],ecx
call      qword ptr [7FFE2813A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L29
xor       ecx,ecx
mov       [rbp-40],rcx
mov       edi,0A
mov       ecx,1
mov       eax,ecx
test      ecx,ecx
je        near ptr M00_L31
M00_L06
 
test      eax,eax
je        near ptr M00_L32
M00_L07
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-58],rax
mov       dword ptr [rbp-50],1
lea       rdx,[rbp-58]
mov       r8d,edi
mov       r9d,2
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
test      rsi,rsi
je        near ptr M00_L34
cmp       dword ptr [rsi+8],0
je        near ptr M00_L35
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
M00_L08
 
mov       rcx,[rdi+8]
mov       r11,7FFE280B1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L36
mov       rcx,[rdi+8]
mov       r11,7FFE280B1060
call      qword ptr [r11]
mov       rsi,rax
M00_L09
 
mov       [rbp-60],rsi
test      rsi,rsi
je        near ptr M00_L18
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       near ptr M00_L18
jmp       short M00_L12
M00_L10
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L11
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L12
 
cmp       r14,r15
jne       short M00_L15
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L14
mov       [rax+8],r8d
jmp       short M00_L10
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       near ptr M00_L24
M00_L15
 
mov       rcx,rsi
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L22
jmp       near ptr M00_L24
M00_L16
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L17
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L18
 
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       short M00_L19
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L20
mov       [rax+8],r8d
jmp       short M00_L16
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L23
jmp       short M00_L24
M00_L20
 
mov       [rax+8],edi
jmp       short M00_L24
M00_L21
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2845EFD0]
int       3
M00_L22
 
mov       rcx,rsi
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L11
M00_L23
 
mov       rcx,rsi
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L17
M00_L24
 
cmp       r14,r15
jne       near ptr M00_L37
M00_L25
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L26
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,18E0A0D8468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L28
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L29
 
call      qword ptr [7FFE287750E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L30
call      qword ptr [7FFE28775038]
mov       rbx,rax
M00_L30
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,18E0A0D9EE0
mov       r8,rbx
call      qword ptr [7FFE282AD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L31
 
movzx     ecx,byte ptr [rbp-40]
test      cl,cl
je        near ptr M00_L06
lea       rcx,[rbp-40]
call      qword ptr [7FFE282A47B0]
mov       edi,eax
jmp       near ptr M00_L07
M00_L32
 
call      qword ptr [7FFE28775218]
mov       r15,rax
test      r15,r15
jne       short M00_L33
call      qword ptr [7FFE28775038]
mov       r15,rax
M00_L33
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,18E0A0D4368
mov       r8,r15
call      qword ptr [7FFE282AD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L34
 
mov       ecx,2
call      qword ptr [7FFE2845ED00]
int       3
M00_L35
 
mov       rcx,7FFE28135120
mov       edx,30
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,14D7C002008
mov       rdi,[rcx]
jmp       near ptr M00_L08
M00_L36
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,14D7C002010
mov       rsi,[rcx]
jmp       near ptr M00_L09
M00_L37
 
mov       rcx,rsi
mov       r11,7FFE280B1050
call      qword ptr [r11]
jmp       near ptr M00_L25
M00_L38
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-60],0
je        short M00_L39
mov       rsi,[rbp-60]
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
je        short M00_L39
mov       rcx,rsi
mov       r11,7FFE280B1050
call      qword ptr [r11]
M00_L39
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L47
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L49
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L48
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L49
mov       rax,14D7C0000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L64
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,18E0A0D0020
cmp       rdi,rcx
je        near ptr M01_L50
mov       rcx,rdi
call      qword ptr [7FFE28146070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L52
mov       rcx,14D7C0000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L64
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L53
test      rbp,rbp
je        near ptr M01_L23
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L19
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L19
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L24
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L20
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28617528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L54
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
M01_L19
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L20
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E56130]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L59
mov       edx,edi
lea       rcx,[7FFE28D4C4F8]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
xor       edi,edi
jmp       near ptr M01_L10
M01_L24
 
mov       rdi,rbp
mov       rcx,rdi
call      qword ptr [7FFE28146AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L28
M01_L25
 
mov       rcx,18E0A0D6498
cmp       rdi,rcx
je        near ptr M01_L43
mov       rcx,18E0A0D4198
cmp       rdi,rcx
je        near ptr M01_L31
mov       rcx,18E0A0D64C0
cmp       rdi,rcx
je        near ptr M01_L42
mov       rcx,18E0A0D4038
cmp       rdi,rcx
je        near ptr M01_L39
mov       rcx,18E0A0D4248
cmp       rdi,rcx
je        near ptr M01_L30
mov       rcx,18E0A0D3F48
cmp       rdi,rcx
je        near ptr M01_L32
mov       rcx,18E0A0D64E8
cmp       rdi,rcx
je        near ptr M01_L38
mov       rcx,18E0A0D3D90
cmp       rdi,rcx
je        near ptr M01_L37
mov       rcx,18E0A0D6448
cmp       rdi,rcx
je        near ptr M01_L36
mov       rcx,18E0A0D6470
cmp       rdi,rcx
je        near ptr M01_L46
mov       rcx,18E0A0D6510
cmp       rdi,rcx
je        near ptr M01_L41
mov       rcx,18E0A0D6538
cmp       rdi,rcx
je        near ptr M01_L35
mov       rcx,18E0A0D71E0
cmp       rdi,rcx
je        near ptr M01_L45
mov       rcx,18E0A0D3C08
cmp       rdi,rcx
je        near ptr M01_L44
mov       rcx,18E0A0D0020
cmp       rdi,rcx
je        near ptr M01_L34
mov       rcx,18E0A0E4C60
mov       r14d,1
mov       eax,2
cmp       rdi,rcx
cmove     r14d,eax
M01_L26
 
mov       edi,r14d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L40
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L40
M01_L27
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L28
 
mov       rcx,rbp
call      qword ptr [7FFE2813A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       rdi,rax
test      rdi,rdi
jne       short M01_L33
M01_L29
 
jmp       near ptr M01_L25
M01_L30
 
mov       r14d,9
jmp       short M01_L26
M01_L31
 
mov       r14d,6
jmp       short M01_L26
M01_L32
 
mov       r14d,0A
jmp       short M01_L26
M01_L33
 
mov       rcx,offset MT_System.RuntimeType
cmp       [rdi],rcx
jne       near ptr M01_L63
jmp       short M01_L29
M01_L34
 
mov       r14d,12
jmp       short M01_L26
M01_L35
 
mov       r14d,0E
jmp       short M01_L26
M01_L36
 
mov       r14d,3
jmp       near ptr M01_L26
M01_L37
 
mov       r14d,0C
jmp       near ptr M01_L26
M01_L38
 
mov       r14d,0B
jmp       near ptr M01_L26
M01_L39
 
mov       r14d,8
jmp       near ptr M01_L26
M01_L40
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L27
M01_L41
 
mov       r14d,0D
jmp       near ptr M01_L26
M01_L42
 
mov       r14d,7
jmp       near ptr M01_L26
M01_L43
 
mov       r14d,5
jmp       near ptr M01_L26
M01_L44
 
mov       r14d,10
jmp       near ptr M01_L26
M01_L45
 
mov       r14d,0F
jmp       near ptr M01_L26
M01_L46
 
mov       r14d,4
jmp       near ptr M01_L26
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56118]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56118]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56100]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56100]
jmp       near ptr M01_L16
M01_L47
 
mov       ecx,2E5
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284866E8]
int       3
M01_L48
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287BCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281FF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L49
 
call      qword ptr [7FFE28147138]
int       3
M01_L50
 
mov       rcx,rbx
call      qword ptr [7FFE28144918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L51
mov       rdx,rsi
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L51
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CB5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L52
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28486718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L53
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287BCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281FF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L54
 
test      r15,r15
jne       short M01_L55
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L56
M01_L55
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L56
 
cmp       dword ptr [r15+8],20
jle       short M01_L57
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E57E88]
jmp       short M01_L58
M01_L57
 
mov       edx,r14d
call      qword ptr [7FFE28E5C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L58
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CB59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E559F8]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E559F8]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E552F0]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E552D8]
jmp       near ptr M01_L16
M01_L59
 
mov       rcx,18E0A0D4010
cmp       rbp,rcx
je        short M01_L61
mov       rcx,18E0A0D6560
cmp       rbp,rcx
je        short M01_L60
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L60
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54BD0]
jmp       short M01_L62
M01_L61
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54BD0]
M01_L62
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L63
 
mov       rdx,rax
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L64
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,5E25E158CEBA
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,14D7C001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,5E25E158CEBA
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CBCBA0]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE281F7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,5E25E158CEBA
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2845E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntriesCount()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-58],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-70],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L26
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L03
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
M00_L02
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L38
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L05
M00_L03
 
call      qword ptr [7FFE28CFFC18]
test      eax,eax
jne       near ptr M00_L28
jmp       short M00_L02
M00_L04
 
call      qword ptr [7FFE28CFFC18]
test      eax,eax
jne       near ptr M00_L28
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,27166C77720
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L29
xor       ecx,ecx
mov       [rbp-40],rcx
mov       edi,0A
mov       ecx,1
mov       eax,ecx
test      ecx,ecx
je        near ptr M00_L31
M00_L06
 
test      eax,eax
je        near ptr M00_L32
M00_L07
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-58],rax
mov       dword ptr [rbp-50],1
lea       rdx,[rbp-58]
mov       r8d,edi
mov       r9d,2
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
test      rsi,rsi
je        near ptr M00_L34
cmp       dword ptr [rsi+8],0
je        near ptr M00_L35
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
M00_L08
 
mov       rcx,[rdi+8]
mov       r11,7FFE280C1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L36
mov       rcx,[rdi+8]
mov       r11,7FFE280C1060
call      qword ptr [r11]
mov       rcx,rax
M00_L09
 
mov       [rbp-60],rcx
test      rcx,rcx
je        near ptr M00_L18
mov       rsi,[rcx]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,r14
jne       near ptr M00_L18
jmp       short M00_L12
M00_L10
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L21
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L13
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L11
 
mov       [rbp-48],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-60]
M00_L12
 
cmp       rsi,r14
jne       short M00_L15
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L14
mov       [rax+8],r8d
jmp       short M00_L10
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       near ptr M00_L24
M00_L15
 
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L22
mov       rcx,[rbp-60]
jmp       near ptr M00_L24
M00_L16
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L21
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L13
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L17
 
mov       [rbp-48],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-60]
M00_L18
 
mov       rsi,[rcx]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,r14
jne       short M00_L19
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L20
mov       [rax+8],r8d
jmp       short M00_L16
M00_L19
 
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L23
mov       rcx,[rbp-60]
jmp       short M00_L24
M00_L20
 
mov       [rax+8],edi
jmp       short M00_L24
M00_L21
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L22
 
mov       rcx,[rbp-60]
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L11
M00_L23
 
mov       rcx,[rbp-60]
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L17
M00_L24
 
cmp       rsi,r14
jne       near ptr M00_L37
M00_L25
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L26
 
call      qword ptr [7FFE287852D8]
mov       rsi,rax
test      rsi,rsi
jne       short M00_L27
call      qword ptr [7FFE28785020]
mov       rsi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,27166C68468
mov       r8,rsi
call      qword ptr [7FFE28496670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L28
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L29
 
call      qword ptr [7FFE287850E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L30
call      qword ptr [7FFE28785038]
mov       rbx,rax
M00_L30
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rcx,r13
mov       rdx,27166C69EE0
mov       r8,rbx
call      qword ptr [7FFE282BD470]
mov       rcx,r13
call      CORINFO_HELP_THROW
M00_L31
 
movzx     ecx,byte ptr [rbp-40]
test      cl,cl
je        near ptr M00_L06
lea       rcx,[rbp-40]
call      qword ptr [7FFE282B47B0]
mov       edi,eax
jmp       near ptr M00_L07
M00_L32
 
call      qword ptr [7FFE28785218]
mov       r14,rax
test      r14,r14
jne       short M00_L33
call      qword ptr [7FFE28785038]
mov       r14,rax
M00_L33
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,27166C64368
mov       r8,r14
call      qword ptr [7FFE282BD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L34
 
mov       ecx,2
call      qword ptr [7FFE2846ED00]
int       3
M00_L35
 
mov       rcx,7FFE28145120
mov       edx,30
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,230D4C02008
mov       rdi,[rcx]
jmp       near ptr M00_L08
M00_L36
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,230D4C02010
mov       rcx,[rcx]
jmp       near ptr M00_L09
M00_L37
 
mov       r11,7FFE280C1050
call      qword ptr [r11]
jmp       near ptr M00_L25
M00_L38
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-60],0
je        short M00_L39
mov       rcx,[rbp-60]
mov       rsi,[rcx]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,r14
je        short M00_L39
mov       r11,7FFE280C1050
call      qword ptr [r11]
M00_L39
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L25
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L27
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L26
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L27
mov       rax,230D4C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L61
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,27166C60020
cmp       rdi,rcx
je        near ptr M01_L28
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L30
mov       rcx,230D4C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L61
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L31
test      rbp,rbp
je        near ptr M01_L24
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L23
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L23
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L41
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L32
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
jmp       short M01_L20
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
mov       rdx,rsi
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E65AA0]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L37
mov       edx,edi
lea       rcx,[7FFE28D6C240]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L24
 
xor       edi,edi
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65A88]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65A88]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65A70]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65A70]
jmp       near ptr M01_L16
M01_L25
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L26
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L27
 
call      qword ptr [7FFE28157138]
int       3
M01_L28
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L29
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L29
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L30
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L31
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L32
 
test      r15,r15
jne       short M01_L33
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L34
M01_L33
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L34
 
cmp       dword ptr [r15+8],20
jle       short M01_L35
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E677F8]
jmp       short M01_L36
M01_L35
 
mov       edx,r14d
call      qword ptr [7FFE28E67CC0]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L36
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65368]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65368]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64C60]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64C48]
jmp       near ptr M01_L16
M01_L37
 
mov       rcx,27166C64010
cmp       rbp,rcx
je        short M01_L39
mov       rcx,27166C66560
cmp       rbp,rcx
je        short M01_L38
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L38
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64540]
jmp       short M01_L40
M01_L39
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64540]
M01_L40
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L41
 
mov       r15,rbp
mov       rcx,r15
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L42
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r15,rax
test      r15,r15
je        short M01_L42
mov       rcx,offset MT_System.RuntimeType
cmp       [r15],rcx
je        short M01_L42
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L42
 
mov       rcx,27166C66498
cmp       r15,rcx
jne       short M01_L43
mov       edi,5
jmp       near ptr M01_L58
M01_L43
 
mov       rcx,27166C64198
cmp       r15,rcx
jne       short M01_L44
mov       edi,6
jmp       near ptr M01_L58
M01_L44
 
mov       rcx,27166C664C0
cmp       r15,rcx
jne       short M01_L45
mov       edi,7
jmp       near ptr M01_L58
M01_L45
 
mov       rcx,27166C64038
cmp       r15,rcx
jne       short M01_L46
mov       edi,8
jmp       near ptr M01_L58
M01_L46
 
mov       rcx,27166C64248
cmp       r15,rcx
jne       short M01_L47
mov       edi,9
jmp       near ptr M01_L58
M01_L47
 
mov       rcx,27166C63F48
cmp       r15,rcx
jne       short M01_L48
mov       edi,0A
jmp       near ptr M01_L58
M01_L48
 
mov       rcx,27166C664E8
cmp       r15,rcx
jne       short M01_L49
mov       edi,0B
jmp       near ptr M01_L58
M01_L49
 
mov       rcx,27166C63D90
cmp       r15,rcx
jne       short M01_L50
mov       edi,0C
jmp       near ptr M01_L58
M01_L50
 
mov       rcx,27166C66448
cmp       r15,rcx
jne       short M01_L51
mov       edi,3
jmp       near ptr M01_L58
M01_L51
 
mov       rcx,27166C66470
cmp       r15,rcx
jne       short M01_L52
mov       edi,4
jmp       near ptr M01_L58
M01_L52
 
mov       rcx,27166C66510
cmp       r15,rcx
jne       short M01_L53
mov       edi,0D
jmp       short M01_L58
M01_L53
 
mov       rcx,27166C66538
cmp       r15,rcx
jne       short M01_L54
mov       edi,0E
jmp       short M01_L58
M01_L54
 
mov       rcx,27166C671E0
cmp       r15,rcx
jne       short M01_L55
mov       edi,0F
jmp       short M01_L58
M01_L55
 
mov       rcx,27166C63C08
cmp       r15,rcx
jne       short M01_L56
mov       edi,10
jmp       short M01_L58
M01_L56
 
mov       rcx,27166C60020
cmp       r15,rcx
jne       short M01_L57
mov       edi,12
jmp       short M01_L58
M01_L57
 
mov       rcx,27166C74C60
mov       edi,1
mov       eax,2
cmp       r15,rcx
cmove     edi,eax
M01_L58
 
cmp       qword ptr [rbp+10],0
je        short M01_L59
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L59
jmp       short M01_L60
M01_L59
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
M01_L60
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L61
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,5C27FDDD5C0B
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,230D4C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,5C27FDDD5C0B
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCC870]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,5C27FDDD5C0B
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntriesCount()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-58],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-70],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L26
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28D0FBA0]
test      eax,eax
jne       near ptr M00_L28
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L38
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28D0FBA0]
test      eax,eax
jne       near ptr M00_L28
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,1F9AF3E7720
cmp       [rcx],ecx
call      qword ptr [7FFE2815A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L29
xor       ecx,ecx
mov       [rbp-40],rcx
mov       edi,0A
mov       ecx,1
mov       eax,ecx
test      ecx,ecx
je        near ptr M00_L31
M00_L06
 
test      eax,eax
je        near ptr M00_L32
M00_L07
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-58],rax
mov       dword ptr [rbp-50],1
lea       rdx,[rbp-58]
mov       r8d,edi
mov       r9d,2
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
test      rsi,rsi
je        near ptr M00_L34
cmp       dword ptr [rsi+8],0
je        near ptr M00_L35
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
M00_L08
 
mov       rcx,[rdi+8]
mov       r11,7FFE280D1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L36
mov       rcx,[rdi+8]
mov       r11,7FFE280D1060
call      qword ptr [r11]
mov       rsi,rax
M00_L09
 
mov       [rbp-60],rsi
test      rsi,rsi
je        near ptr M00_L18
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       near ptr M00_L18
jmp       short M00_L12
M00_L10
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L11
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L12
 
cmp       r14,r15
jne       short M00_L15
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L14
mov       [rax+8],r8d
jmp       short M00_L10
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       near ptr M00_L24
M00_L15
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L22
jmp       near ptr M00_L24
M00_L16
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L17
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L18
 
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       short M00_L19
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L20
mov       [rax+8],r8d
jmp       short M00_L16
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L23
jmp       short M00_L24
M00_L20
 
mov       [rax+8],edi
jmp       short M00_L24
M00_L21
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2847EFD0]
int       3
M00_L22
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L11
M00_L23
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L17
M00_L24
 
cmp       r14,r15
jne       near ptr M00_L37
M00_L25
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L26
 
call      qword ptr [7FFE287952D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28795020]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1F9AF3D8468
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L28
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L29
 
call      qword ptr [7FFE287950E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L30
call      qword ptr [7FFE28795038]
mov       rbx,rax
M00_L30
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,1F9AF3D9EE0
mov       r8,rbx
call      qword ptr [7FFE282CD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L31
 
movzx     ecx,byte ptr [rbp-40]
test      cl,cl
je        near ptr M00_L06
lea       rcx,[rbp-40]
call      qword ptr [7FFE282C47B0]
mov       edi,eax
jmp       near ptr M00_L07
M00_L32
 
call      qword ptr [7FFE28795218]
mov       r15,rax
test      r15,r15
jne       short M00_L33
call      qword ptr [7FFE28795038]
mov       r15,rax
M00_L33
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,1F9AF3D4368
mov       r8,r15
call      qword ptr [7FFE282CD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L34
 
mov       ecx,2
call      qword ptr [7FFE2847ED00]
int       3
M00_L35
 
mov       rcx,7FFE28155120
mov       edx,30
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1B91D402010
mov       rdi,[rcx]
jmp       near ptr M00_L08
M00_L36
 
mov       rcx,7FFE28155120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1B91D412500
mov       rsi,[rcx]
jmp       near ptr M00_L09
M00_L37
 
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
jmp       near ptr M00_L25
M00_L38
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-60],0
je        short M00_L39
mov       rsi,[rbp-60]
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
je        short M00_L39
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
M00_L39
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L46
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L48
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L47
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L48
mov       rax,1B91D4000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L63
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,1F9AF3D0020
cmp       rdi,rcx
je        near ptr M01_L49
mov       rcx,rdi
call      qword ptr [7FFE28166070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L51
mov       rcx,1B91D4000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L63
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L52
test      rbp,rbp
je        near ptr M01_L22
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L23
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L21
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28637528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L53
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L20
mov       rdx,rsi
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L20
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E75BD8]
jmp       short M01_L17
M01_L21
 
cmp       edi,0A
ja        near ptr M01_L58
mov       edx,edi
lea       rcx,[7FFE28D7DA40]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L22
 
xor       edi,edi
jmp       near ptr M01_L10
M01_L23
 
mov       rdi,rbp
mov       rcx,rdi
call      qword ptr [7FFE28166AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L27
M01_L24
 
mov       rcx,1F9AF3D6498
cmp       rdi,rcx
je        near ptr M01_L42
mov       rcx,1F9AF3D4198
cmp       rdi,rcx
je        near ptr M01_L30
mov       rcx,1F9AF3D64C0
cmp       rdi,rcx
je        near ptr M01_L41
mov       rcx,1F9AF3D4038
cmp       rdi,rcx
je        near ptr M01_L38
mov       rcx,1F9AF3D4248
cmp       rdi,rcx
je        near ptr M01_L29
mov       rcx,1F9AF3D3F48
cmp       rdi,rcx
je        near ptr M01_L31
mov       rcx,1F9AF3D64E8
cmp       rdi,rcx
je        near ptr M01_L37
mov       rcx,1F9AF3D3D90
cmp       rdi,rcx
je        near ptr M01_L36
mov       rcx,1F9AF3D6448
cmp       rdi,rcx
je        near ptr M01_L35
mov       rcx,1F9AF3D6470
cmp       rdi,rcx
je        near ptr M01_L45
mov       rcx,1F9AF3D6510
cmp       rdi,rcx
je        near ptr M01_L40
mov       rcx,1F9AF3D6538
cmp       rdi,rcx
je        near ptr M01_L34
mov       rcx,1F9AF3D71E0
cmp       rdi,rcx
je        near ptr M01_L44
mov       rcx,1F9AF3D3C08
cmp       rdi,rcx
je        near ptr M01_L43
mov       rcx,1F9AF3D0020
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,1F9AF3E4C60
mov       r14d,1
mov       eax,2
cmp       rdi,rcx
cmove     r14d,eax
M01_L25
 
mov       edi,r14d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L39
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L39
M01_L26
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L27
 
mov       rcx,rbp
call      qword ptr [7FFE2815A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       rdi,rax
test      rdi,rdi
jne       short M01_L32
M01_L28
 
jmp       near ptr M01_L24
M01_L29
 
mov       r14d,9
jmp       short M01_L25
M01_L30
 
mov       r14d,6
jmp       short M01_L25
M01_L31
 
mov       r14d,0A
jmp       short M01_L25
M01_L32
 
mov       rcx,offset MT_System.RuntimeType
cmp       [rdi],rcx
jne       near ptr M01_L62
jmp       short M01_L28
M01_L33
 
mov       r14d,12
jmp       short M01_L25
M01_L34
 
mov       r14d,0E
jmp       short M01_L25
M01_L35
 
mov       r14d,3
jmp       near ptr M01_L25
M01_L36
 
mov       r14d,0C
jmp       near ptr M01_L25
M01_L37
 
mov       r14d,0B
jmp       near ptr M01_L25
M01_L38
 
mov       r14d,8
jmp       near ptr M01_L25
M01_L39
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L26
M01_L40
 
mov       r14d,0D
jmp       near ptr M01_L25
M01_L41
 
mov       r14d,7
jmp       near ptr M01_L25
M01_L42
 
mov       r14d,5
jmp       near ptr M01_L25
M01_L43
 
mov       r14d,10
jmp       near ptr M01_L25
M01_L44
 
mov       r14d,0F
jmp       near ptr M01_L25
M01_L45
 
mov       r14d,4
jmp       near ptr M01_L25
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75BC0]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75BC0]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75BA8]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75BA8]
jmp       near ptr M01_L17
M01_L46
 
mov       ecx,2E5
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L47
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L48
 
call      qword ptr [7FFE28167138]
int       3
M01_L49
 
mov       rcx,rbx
call      qword ptr [7FFE28164918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L50
mov       rdx,rsi
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L50
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CD5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L51
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284A6718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L52
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L53
 
test      r15,r15
jne       short M01_L54
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L55
M01_L54
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L55
 
cmp       dword ptr [r15+8],20
jle       short M01_L56
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E77930]
jmp       short M01_L57
M01_L56
 
mov       edx,r14d
call      qword ptr [7FFE28E77DF8]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L57
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CD59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E754A0]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E754A0]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E74D98]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E74D80]
jmp       near ptr M01_L17
M01_L58
 
mov       rcx,1F9AF3D4010
cmp       rbp,rcx
je        short M01_L60
mov       rcx,1F9AF3D6560
cmp       rbp,rcx
je        short M01_L59
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE284A6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L59
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E74678]
jmp       short M01_L61
M01_L60
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E74678]
M01_L61
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L62
 
mov       rdx,rax
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L63
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,2D1DE51E8A47
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282171B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1B91D401F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,2D1DE51E8A47
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CDC870]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28217150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,2D1DE51E8A47
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2847E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntriesCount()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-58],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-70],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L26
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28D0FCC0]
test      eax,eax
jne       near ptr M00_L28
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L38
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28D0FCC0]
test      eax,eax
jne       near ptr M00_L28
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,22EEAA67720
cmp       [rcx],ecx
call      qword ptr [7FFE2815A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L29
xor       ecx,ecx
mov       [rbp-40],rcx
mov       edi,0A
mov       ecx,1
mov       eax,ecx
test      ecx,ecx
je        near ptr M00_L31
M00_L06
 
test      eax,eax
je        near ptr M00_L32
M00_L07
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-58],rax
mov       dword ptr [rbp-50],1
lea       rdx,[rbp-58]
mov       r8d,edi
mov       r9d,2
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
test      rsi,rsi
je        near ptr M00_L34
cmp       dword ptr [rsi+8],0
je        near ptr M00_L35
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
M00_L08
 
mov       rcx,[rdi+8]
mov       r11,7FFE280D1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L36
mov       rcx,[rdi+8]
mov       r11,7FFE280D1060
call      qword ptr [r11]
mov       rsi,rax
M00_L09
 
mov       [rbp-60],rsi
test      rsi,rsi
je        near ptr M00_L18
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       near ptr M00_L18
jmp       short M00_L12
M00_L10
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L11
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L12
 
cmp       r14,r15
jne       short M00_L15
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L14
mov       [rax+8],r8d
jmp       short M00_L10
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       near ptr M00_L24
M00_L15
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L22
jmp       near ptr M00_L24
M00_L16
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L17
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L18
 
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       short M00_L19
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L20
mov       [rax+8],r8d
jmp       short M00_L16
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L23
jmp       short M00_L24
M00_L20
 
mov       [rax+8],edi
jmp       short M00_L24
M00_L21
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2847EFD0]
int       3
M00_L22
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L11
M00_L23
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L17
M00_L24
 
cmp       r14,r15
jne       near ptr M00_L37
M00_L25
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L26
 
call      qword ptr [7FFE287952D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28795020]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,22EEAA58468
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L28
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L29
 
call      qword ptr [7FFE287950E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L30
call      qword ptr [7FFE28795038]
mov       rbx,rax
M00_L30
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,22EEAA59EE0
mov       r8,rbx
call      qword ptr [7FFE282CD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L31
 
movzx     ecx,byte ptr [rbp-40]
test      cl,cl
je        near ptr M00_L06
lea       rcx,[rbp-40]
call      qword ptr [7FFE282C47B0]
mov       edi,eax
jmp       near ptr M00_L07
M00_L32
 
call      qword ptr [7FFE28795218]
mov       r15,rax
test      r15,r15
jne       short M00_L33
call      qword ptr [7FFE28795038]
mov       r15,rax
M00_L33
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,22EEAA54368
mov       r8,r15
call      qword ptr [7FFE282CD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L34
 
mov       ecx,2
call      qword ptr [7FFE2847ED00]
int       3
M00_L35
 
mov       rcx,7FFE28155120
mov       edx,30
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1EE58C02010
mov       rdi,[rcx]
jmp       near ptr M00_L08
M00_L36
 
mov       rcx,7FFE28155120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1EE58C12500
mov       rsi,[rcx]
jmp       near ptr M00_L09
M00_L37
 
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
jmp       near ptr M00_L25
M00_L38
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-60],0
je        short M00_L39
mov       rsi,[rbp-60]
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
je        short M00_L39
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
M00_L39
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L24
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L26
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L25
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L26
mov       rax,1EE58C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L60
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,22EEAA50020
cmp       rdi,rcx
je        near ptr M01_L27
mov       rcx,rdi
call      qword ptr [7FFE28166070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L29
mov       rcx,1EE58C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L60
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L30
test      rbp,rbp
je        near ptr M01_L23
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L19
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L19
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L40
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L20
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28637528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L31
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
M01_L19
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L20
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E75A40]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L36
mov       edx,edi
lea       rcx,[7FFE28D6DF80]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
xor       edi,edi
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75A28]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75A28]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75A10]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75A10]
jmp       near ptr M01_L16
M01_L24
 
mov       ecx,2E5
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L25
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L26
 
call      qword ptr [7FFE28167138]
int       3
M01_L27
 
mov       rcx,rbx
call      qword ptr [7FFE28164918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L28
mov       rdx,rsi
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L28
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CD5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L29
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284A6718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L30
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L31
 
test      r15,r15
jne       short M01_L32
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L33
M01_L32
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L33
 
cmp       dword ptr [r15+8],20
jle       short M01_L34
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E77798]
jmp       short M01_L35
M01_L34
 
mov       edx,r14d
call      qword ptr [7FFE28E77C60]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L35
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CD59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75308]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E75308]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E74C00]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E74BE8]
jmp       near ptr M01_L16
M01_L36
 
mov       rcx,22EEAA54010
cmp       rbp,rcx
je        short M01_L38
mov       rcx,22EEAA56560
cmp       rbp,rcx
je        short M01_L37
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE284A6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L37
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E744E0]
jmp       short M01_L39
M01_L38
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E744E0]
M01_L39
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L40
 
mov       r15,rbp
mov       rcx,r15
call      qword ptr [7FFE28166AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L41
mov       rcx,rbp
call      qword ptr [7FFE2815A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r15,rax
test      r15,r15
je        short M01_L41
mov       rcx,offset MT_System.RuntimeType
cmp       [r15],rcx
je        short M01_L41
mov       rdx,rax
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L41
 
mov       rcx,22EEAA56498
cmp       r15,rcx
jne       short M01_L42
mov       edi,5
jmp       near ptr M01_L57
M01_L42
 
mov       rcx,22EEAA54198
cmp       r15,rcx
jne       short M01_L43
mov       edi,6
jmp       near ptr M01_L57
M01_L43
 
mov       rcx,22EEAA564C0
cmp       r15,rcx
jne       short M01_L44
mov       edi,7
jmp       near ptr M01_L57
M01_L44
 
mov       rcx,22EEAA54038
cmp       r15,rcx
jne       short M01_L45
mov       edi,8
jmp       near ptr M01_L57
M01_L45
 
mov       rcx,22EEAA54248
cmp       r15,rcx
jne       short M01_L46
mov       edi,9
jmp       near ptr M01_L57
M01_L46
 
mov       rcx,22EEAA53F48
cmp       r15,rcx
jne       short M01_L47
mov       edi,0A
jmp       near ptr M01_L57
M01_L47
 
mov       rcx,22EEAA564E8
cmp       r15,rcx
jne       short M01_L48
mov       edi,0B
jmp       near ptr M01_L57
M01_L48
 
mov       rcx,22EEAA53D90
cmp       r15,rcx
jne       short M01_L49
mov       edi,0C
jmp       near ptr M01_L57
M01_L49
 
mov       rcx,22EEAA56448
cmp       r15,rcx
jne       short M01_L50
mov       edi,3
jmp       near ptr M01_L57
M01_L50
 
mov       rcx,22EEAA56470
cmp       r15,rcx
jne       short M01_L51
mov       edi,4
jmp       near ptr M01_L57
M01_L51
 
mov       rcx,22EEAA56510
cmp       r15,rcx
jne       short M01_L52
mov       edi,0D
jmp       short M01_L57
M01_L52
 
mov       rcx,22EEAA56538
cmp       r15,rcx
jne       short M01_L53
mov       edi,0E
jmp       short M01_L57
M01_L53
 
mov       rcx,22EEAA571E0
cmp       r15,rcx
jne       short M01_L54
mov       edi,0F
jmp       short M01_L57
M01_L54
 
mov       rcx,22EEAA53C08
cmp       r15,rcx
jne       short M01_L55
mov       edi,10
jmp       short M01_L57
M01_L55
 
mov       rcx,22EEAA50020
cmp       r15,rcx
jne       short M01_L56
mov       edi,12
jmp       short M01_L57
M01_L56
 
mov       rcx,22EEAA64C60
mov       edi,1
mov       eax,2
cmp       r15,rcx
cmove     edi,eax
M01_L57
 
cmp       qword ptr [rbp+10],0
je        short M01_L58
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L58
jmp       short M01_L59
M01_L58
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
M01_L59
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L60
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0DC2837FA09A
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282171B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1EE58C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,0DC2837FA09A
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CDC870]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28217150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0DC2837FA09A
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2847E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntriesCount()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-58],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-70],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L26
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFD440]
test      eax,eax
jne       near ptr M00_L28
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L38
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFD440]
test      eax,eax
jne       near ptr M00_L28
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,211B1DC7740
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L29
xor       ecx,ecx
mov       [rbp-40],rcx
mov       edi,0A
mov       ecx,1
mov       eax,ecx
test      ecx,ecx
je        near ptr M00_L31
M00_L06
 
test      eax,eax
je        near ptr M00_L32
M00_L07
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-58],rax
mov       dword ptr [rbp-50],1
lea       rdx,[rbp-58]
mov       r8d,edi
mov       r9d,2
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
test      rsi,rsi
je        near ptr M00_L34
cmp       dword ptr [rsi+8],0
je        near ptr M00_L35
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
M00_L08
 
mov       rcx,[rdi+8]
mov       r11,7FFE280C1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L36
mov       rcx,[rdi+8]
mov       r11,7FFE280C1060
call      qword ptr [r11]
mov       rsi,rax
M00_L09
 
mov       [rbp-60],rsi
test      rsi,rsi
je        near ptr M00_L18
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       near ptr M00_L18
jmp       short M00_L12
M00_L10
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L11
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L12
 
cmp       r14,r15
jne       short M00_L15
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L14
mov       [rax+8],r8d
jmp       short M00_L10
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       near ptr M00_L24
M00_L15
 
mov       rcx,rsi
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L22
jmp       near ptr M00_L24
M00_L16
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L17
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L18
 
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       short M00_L19
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L20
mov       [rax+8],r8d
jmp       short M00_L16
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L23
jmp       short M00_L24
M00_L20
 
mov       [rax+8],edi
jmp       short M00_L24
M00_L21
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L22
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L11
M00_L23
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L17
M00_L24
 
cmp       r14,r15
jne       near ptr M00_L37
M00_L25
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L26
 
call      qword ptr [7FFE287944E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28794228]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,211B1DB8468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L28
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L29
 
call      qword ptr [7FFE287942E8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L30
call      qword ptr [7FFE28794240]
mov       rbx,rax
M00_L30
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,211B1DB9EE0
mov       r8,rbx
call      qword ptr [7FFE282BD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L31
 
movzx     ecx,byte ptr [rbp-40]
test      cl,cl
je        near ptr M00_L06
lea       rcx,[rbp-40]
call      qword ptr [7FFE282B47B0]
mov       edi,eax
jmp       near ptr M00_L07
M00_L32
 
call      qword ptr [7FFE28794420]
mov       r15,rax
test      r15,r15
jne       short M00_L33
call      qword ptr [7FFE28794240]
mov       r15,rax
M00_L33
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,211B1DB4368
mov       r8,r15
call      qword ptr [7FFE282BD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L34
 
mov       ecx,2
call      qword ptr [7FFE2846ED00]
int       3
M00_L35
 
mov       rcx,7FFE28145120
mov       edx,30
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1D120002010
mov       rdi,[rcx]
jmp       near ptr M00_L08
M00_L36
 
mov       rcx,7FFE28145120
mov       edx,1A
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1D120012500
mov       rsi,[rcx]
jmp       near ptr M00_L09
M00_L37
 
mov       rcx,rsi
mov       r11,7FFE280C1050
call      qword ptr [r11]
jmp       near ptr M00_L25
M00_L38
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-60],0
je        short M00_L39
mov       rsi,[rbp-60]
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
je        short M00_L39
mov       rcx,rsi
mov       r11,7FFE280C1050
call      qword ptr [r11]
M00_L39
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L25
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L24
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L25
mov       rax,1D1200000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L59
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,211B1DB0020
cmp       rdi,rcx
je        near ptr M01_L26
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L28
mov       rcx,1D1200000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L59
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L29
test      rbp,rbp
je        near ptr M01_L22
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L39
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L21
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE286264D8]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L30
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L20
mov       rdx,rsi
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L20
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E56250]
jmp       short M01_L17
M01_L21
 
cmp       edi,0A
ja        near ptr M01_L35
mov       edx,edi
lea       rcx,[7FFE28D7E7D8]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L22
 
xor       edi,edi
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L17
M01_L23
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L24
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CC690]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC060]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE28157138]
int       3
M01_L26
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L27
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L27
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC6DA8]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L28
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E4AE0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L29
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CC6F0]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC060]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L30
 
test      r15,r15
jne       short M01_L31
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L32
M01_L31
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L32
 
cmp       dword ptr [r15+8],20
jle       short M01_L33
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E57FA8]
jmp       short M01_L34
M01_L33
 
mov       edx,r14d
call      qword ptr [7FFE28E5C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L34
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55410]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E553F8]
jmp       near ptr M01_L17
M01_L35
 
mov       rcx,211B1DB4010
cmp       rbp,rcx
je        short M01_L37
mov       rcx,211B1DB6560
cmp       rbp,rcx
je        short M01_L36
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E4AE0]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
jmp       short M01_L38
M01_L37
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
M01_L38
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L39
 
mov       r15,rbp
mov       rcx,r15
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L40
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r15,rax
test      r15,r15
je        short M01_L40
mov       rcx,offset MT_System.RuntimeType
cmp       [r15],rcx
je        short M01_L40
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L40
 
mov       rcx,211B1DB6498
cmp       r15,rcx
jne       short M01_L41
mov       edi,5
jmp       near ptr M01_L56
M01_L41
 
mov       rcx,211B1DB4198
cmp       r15,rcx
jne       short M01_L42
mov       edi,6
jmp       near ptr M01_L56
M01_L42
 
mov       rcx,211B1DB64C0
cmp       r15,rcx
jne       short M01_L43
mov       edi,7
jmp       near ptr M01_L56
M01_L43
 
mov       rcx,211B1DB4038
cmp       r15,rcx
jne       short M01_L44
mov       edi,8
jmp       near ptr M01_L56
M01_L44
 
mov       rcx,211B1DB4248
cmp       r15,rcx
jne       short M01_L45
mov       edi,9
jmp       near ptr M01_L56
M01_L45
 
mov       rcx,211B1DB3F48
cmp       r15,rcx
jne       short M01_L46
mov       edi,0A
jmp       near ptr M01_L56
M01_L46
 
mov       rcx,211B1DB64E8
cmp       r15,rcx
jne       short M01_L47
mov       edi,0B
jmp       near ptr M01_L56
M01_L47
 
mov       rcx,211B1DB3D90
cmp       r15,rcx
jne       short M01_L48
mov       edi,0C
jmp       near ptr M01_L56
M01_L48
 
mov       rcx,211B1DB6448
cmp       r15,rcx
jne       short M01_L49
mov       edi,3
jmp       near ptr M01_L56
M01_L49
 
mov       rcx,211B1DB6470
cmp       r15,rcx
jne       short M01_L50
mov       edi,4
jmp       near ptr M01_L56
M01_L50
 
mov       rcx,211B1DB6510
cmp       r15,rcx
jne       short M01_L51
mov       edi,0D
jmp       short M01_L56
M01_L51
 
mov       rcx,211B1DB6538
cmp       r15,rcx
jne       short M01_L52
mov       edi,0E
jmp       short M01_L56
M01_L52
 
mov       rcx,211B1DB72F8
cmp       r15,rcx
jne       short M01_L53
mov       edi,0F
jmp       short M01_L56
M01_L53
 
mov       rcx,211B1DB3C08
cmp       r15,rcx
jne       short M01_L54
mov       edi,10
jmp       short M01_L56
M01_L54
 
mov       rcx,211B1DB0020
cmp       r15,rcx
jne       short M01_L55
mov       edi,12
jmp       short M01_L56
M01_L55
 
mov       rcx,211B1DC4C60
mov       edi,1
mov       eax,2
cmp       r15,rcx
cmove     edi,eax
M01_L56
 
cmp       qword ptr [rbp+10],0
je        short M01_L57
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L57
jmp       short M01_L58
M01_L57
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
M01_L58
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L59
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0F9D4EB9030F0
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1D120001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,0F9D4EB9030F0
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCDC98]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0F9D4EB9030F0
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntriesCount()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-58],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-70],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L26
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFD758]
test      eax,eax
jne       near ptr M00_L28
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L38
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFD758]
test      eax,eax
jne       near ptr M00_L28
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,1E7B7A17740
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L29
xor       ecx,ecx
mov       [rbp-40],rcx
mov       edi,0A
mov       ecx,1
mov       eax,ecx
test      ecx,ecx
je        near ptr M00_L31
M00_L06
 
test      eax,eax
je        near ptr M00_L32
M00_L07
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-58],rax
mov       dword ptr [rbp-50],1
lea       rdx,[rbp-58]
mov       r8d,edi
mov       r9d,2
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
test      rsi,rsi
je        near ptr M00_L34
cmp       dword ptr [rsi+8],0
je        near ptr M00_L35
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
M00_L08
 
mov       rcx,[rdi+8]
mov       r11,7FFE280C1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L36
mov       rcx,[rdi+8]
mov       r11,7FFE280C1060
call      qword ptr [r11]
mov       rsi,rax
M00_L09
 
mov       [rbp-60],rsi
test      rsi,rsi
je        near ptr M00_L18
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       near ptr M00_L18
jmp       short M00_L12
M00_L10
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L11
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L12
 
cmp       r14,r15
jne       short M00_L15
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L14
mov       [rax+8],r8d
jmp       short M00_L10
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       near ptr M00_L24
M00_L15
 
mov       rcx,rsi
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L22
jmp       near ptr M00_L24
M00_L16
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L17
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L18
 
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       short M00_L19
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L20
mov       [rax+8],r8d
jmp       short M00_L16
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L23
jmp       short M00_L24
M00_L20
 
mov       [rax+8],edi
jmp       short M00_L24
M00_L21
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L22
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L11
M00_L23
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L17
M00_L24
 
cmp       r14,r15
jne       near ptr M00_L37
M00_L25
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L26
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1E7B7A08468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L28
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L29
 
call      qword ptr [7FFE287850E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L30
call      qword ptr [7FFE28785038]
mov       rbx,rax
M00_L30
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,1E7B7A09EE0
mov       r8,rbx
call      qword ptr [7FFE282BD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L31
 
movzx     ecx,byte ptr [rbp-40]
test      cl,cl
je        near ptr M00_L06
lea       rcx,[rbp-40]
call      qword ptr [7FFE282B47B0]
mov       edi,eax
jmp       near ptr M00_L07
M00_L32
 
call      qword ptr [7FFE28785218]
mov       r15,rax
test      r15,r15
jne       short M00_L33
call      qword ptr [7FFE28785038]
mov       r15,rax
M00_L33
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,1E7B7A04368
mov       r8,r15
call      qword ptr [7FFE282BD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L34
 
mov       ecx,2
call      qword ptr [7FFE2846ED00]
int       3
M00_L35
 
mov       rcx,7FFE28145120
mov       edx,30
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1A725C02010
mov       rdi,[rcx]
jmp       near ptr M00_L08
M00_L36
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1A725C12500
mov       rsi,[rcx]
jmp       near ptr M00_L09
M00_L37
 
mov       rcx,rsi
mov       r11,7FFE280C1050
call      qword ptr [r11]
jmp       near ptr M00_L25
M00_L38
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-60],0
je        short M00_L39
mov       rsi,[rbp-60]
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
je        short M00_L39
mov       rcx,rsi
mov       r11,7FFE280C1050
call      qword ptr [r11]
M00_L39
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L30
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L32
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L31
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L32
mov       rax,1A725C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,1E7B7A00020
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L35
mov       rcx,1A725C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L36
test      rbp,rbp
je        near ptr M01_L20
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L16
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L16
M01_L09
 
mov       r14d,[rax+90]
test      r14d,r14d
je        near ptr M01_L37
M01_L10
 
add       r14d,0FFFFFFFC
cmp       r14d,5
jne       near ptr M01_L57
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r15d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L17
 
mov       r13,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L21
mov       eax,r15d
mov       ecx,[r13+8]
cmp       rcx,rax
seta      al
movzx     eax,al
M01_L18
 
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
xor       r14d,r14d
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L18
M01_L21
 
test      r13,r13
jne       short M01_L22
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L23
M01_L22
 
lea       rcx,[r13+10]
mov       r8d,[r13+8]
M01_L23
 
cmp       dword ptr [r13+8],20
jle       short M01_L24
mov       edx,r8d
mov       r8d,r15d
call      qword ptr [7FFE28E57FA8]
jmp       short M01_L25
M01_L24
 
mov       edx,r15d
call      qword ptr [7FFE28E5C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L25
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55410]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E553F8]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Char
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56250]
jmp       near ptr M01_L18
M01_L26
 
mov       rcx,1E7B7A04010
cmp       rbp,rcx
je        short M01_L28
mov       rcx,1E7B7A06560
cmp       rbp,rcx
je        short M01_L27
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L27
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
jmp       short M01_L29
M01_L28
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
M01_L29
 
movzx     eax,al
jmp       near ptr M01_L18
M01_L30
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L31
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L32
 
call      qword ptr [7FFE28157138]
int       3
M01_L33
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L34
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L34
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC6DA8]
not       eax
shr       eax,1F
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L35
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE2820F708]
mov       rcx,r14
call      CORINFO_HELP_THROW
M01_L37
 
mov       r13,rbp
mov       rcx,r13
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L38
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r13,rax
test      r13,r13
je        short M01_L38
mov       rcx,offset MT_System.RuntimeType
cmp       [r13],rcx
je        short M01_L38
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L38
 
mov       rcx,1E7B7A06498
cmp       r13,rcx
jne       short M01_L39
mov       r14d,5
jmp       near ptr M01_L54
M01_L39
 
mov       rcx,1E7B7A04198
cmp       r13,rcx
jne       short M01_L40
mov       r14d,6
jmp       near ptr M01_L54
M01_L40
 
mov       rcx,1E7B7A064C0
cmp       r13,rcx
jne       short M01_L41
mov       r14d,7
jmp       near ptr M01_L54
M01_L41
 
mov       rcx,1E7B7A04038
cmp       r13,rcx
jne       short M01_L42
mov       r14d,8
jmp       near ptr M01_L54
M01_L42
 
mov       rcx,1E7B7A04248
cmp       r13,rcx
jne       short M01_L43
mov       r14d,9
jmp       near ptr M01_L54
M01_L43
 
mov       rcx,1E7B7A03F48
cmp       r13,rcx
jne       short M01_L44
mov       r14d,0A
jmp       near ptr M01_L54
M01_L44
 
mov       rcx,1E7B7A064E8
cmp       r13,rcx
jne       short M01_L45
mov       r14d,0B
jmp       near ptr M01_L54
M01_L45
 
mov       rcx,1E7B7A03D90
cmp       r13,rcx
jne       short M01_L46
mov       r14d,0C
jmp       near ptr M01_L54
M01_L46
 
mov       rcx,1E7B7A06448
cmp       r13,rcx
jne       short M01_L47
mov       r14d,3
jmp       near ptr M01_L54
M01_L47
 
mov       rcx,1E7B7A06470
cmp       r13,rcx
jne       short M01_L48
mov       r14d,4
jmp       near ptr M01_L54
M01_L48
 
mov       rcx,1E7B7A06510
cmp       r13,rcx
jne       short M01_L49
mov       r14d,0D
jmp       short M01_L54
M01_L49
 
mov       rcx,1E7B7A06538
cmp       r13,rcx
jne       short M01_L50
mov       r14d,0E
jmp       short M01_L54
M01_L50
 
mov       rcx,1E7B7A071E0
cmp       r13,rcx
jne       short M01_L51
mov       r14d,0F
jmp       short M01_L54
M01_L51
 
mov       rcx,1E7B7A03C08
cmp       r13,rcx
jne       short M01_L52
mov       r14d,10
jmp       short M01_L54
M01_L52
 
mov       rcx,1E7B7A00020
cmp       r13,rcx
jne       short M01_L53
mov       r14d,12
jmp       short M01_L54
M01_L53
 
mov       rcx,1E7B7A14C60
mov       r14d,1
mov       eax,2
cmp       r13,rcx
cmove     r14d,eax
M01_L54
 
cmp       qword ptr [rbp+10],0
je        short M01_L55
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L55
jmp       short M01_L56
M01_L55
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
M01_L56
 
mov       [rax+90],r14d
jmp       near ptr M01_L10
M01_L57
 
cmp       r14d,0A
ja        near ptr M01_L26
mov       edx,r14d
lea       rcx,[7FFE28D7EB70]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L58
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0F99A88C96C8F
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1A725C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,0F99A88C96C8F
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCDC98]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0F99A88C96C8F
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntriesCount()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-58],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-70],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L26
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CED440]
test      eax,eax
jne       near ptr M00_L28
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L38
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CED440]
test      eax,eax
jne       near ptr M00_L28
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,2598DBF7740
cmp       [rcx],ecx
call      qword ptr [7FFE2813A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L29
xor       ecx,ecx
mov       [rbp-40],rcx
mov       edi,0A
mov       ecx,1
mov       eax,ecx
test      ecx,ecx
je        near ptr M00_L31
M00_L06
 
test      eax,eax
je        near ptr M00_L32
M00_L07
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-58],rax
mov       dword ptr [rbp-50],1
lea       rdx,[rbp-58]
mov       r8d,edi
mov       r9d,2
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
test      rsi,rsi
je        near ptr M00_L34
cmp       dword ptr [rsi+8],0
je        near ptr M00_L35
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
M00_L08
 
mov       rcx,[rdi+8]
mov       r11,7FFE280B1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L36
mov       rcx,[rdi+8]
mov       r11,7FFE280B1060
call      qword ptr [r11]
mov       rsi,rax
M00_L09
 
mov       [rbp-60],rsi
test      rsi,rsi
je        near ptr M00_L18
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       near ptr M00_L18
jmp       short M00_L12
M00_L10
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L11
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L12
 
cmp       r14,r15
jne       short M00_L15
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L14
mov       [rax+8],r8d
jmp       short M00_L10
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       near ptr M00_L24
M00_L15
 
mov       rcx,rsi
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L22
jmp       near ptr M00_L24
M00_L16
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L17
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L18
 
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       short M00_L19
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L20
mov       [rax+8],r8d
jmp       short M00_L16
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L23
jmp       short M00_L24
M00_L20
 
mov       [rax+8],edi
jmp       short M00_L24
M00_L21
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2845EFD0]
int       3
M00_L22
 
mov       rcx,rsi
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L11
M00_L23
 
mov       rcx,rsi
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L17
M00_L24
 
cmp       r14,r15
jne       near ptr M00_L37
M00_L25
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L26
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,2598DBE8468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L28
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L29
 
call      qword ptr [7FFE287750E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L30
call      qword ptr [7FFE28775038]
mov       rbx,rax
M00_L30
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,2598DBE9EE0
mov       r8,rbx
call      qword ptr [7FFE282AD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L31
 
movzx     ecx,byte ptr [rbp-40]
test      cl,cl
je        near ptr M00_L06
lea       rcx,[rbp-40]
call      qword ptr [7FFE282A47B0]
mov       edi,eax
jmp       near ptr M00_L07
M00_L32
 
call      qword ptr [7FFE28775218]
mov       r15,rax
test      r15,r15
jne       short M00_L33
call      qword ptr [7FFE28775038]
mov       r15,rax
M00_L33
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,2598DBE4368
mov       r8,r15
call      qword ptr [7FFE282AD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L34
 
mov       ecx,2
call      qword ptr [7FFE2845ED00]
int       3
M00_L35
 
mov       rcx,7FFE28135120
mov       edx,30
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,218FBC02010
mov       rdi,[rcx]
jmp       near ptr M00_L08
M00_L36
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,218FBC12500
mov       rsi,[rcx]
jmp       near ptr M00_L09
M00_L37
 
mov       rcx,rsi
mov       r11,7FFE280B1050
call      qword ptr [r11]
jmp       near ptr M00_L25
M00_L38
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-60],0
je        short M00_L39
mov       rsi,[rbp-60]
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
je        short M00_L39
mov       rcx,rsi
mov       r11,7FFE280B1050
call      qword ptr [r11]
M00_L39
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L46
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L48
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L47
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L48
mov       rax,218FBC000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L63
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,2598DBE0020
cmp       rdi,rcx
je        near ptr M01_L49
mov       rcx,rdi
call      qword ptr [7FFE28146070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L51
mov       rcx,218FBC000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L63
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L52
test      rbp,rbp
je        near ptr M01_L27
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L25
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L21
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28617528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L53
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L20
mov       rdx,rsi
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L20
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E46250]
jmp       short M01_L17
M01_L21
 
cmp       edi,0A
ja        near ptr M01_L58
mov       edx,edi
lea       rcx,[7FFE28D5E8B0]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L22
 
mov       rcx,2598DBF4C60
mov       r14d,1
mov       eax,2
cmp       rdi,rcx
cmove     r14d,eax
M01_L23
 
mov       edi,r14d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L40
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L40
M01_L24
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L25
 
mov       rdi,rbp
mov       rcx,rdi
call      qword ptr [7FFE28146AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L28
M01_L26
 
mov       rcx,2598DBE6498
cmp       rdi,rcx
je        near ptr M01_L43
mov       rcx,2598DBE4198
cmp       rdi,rcx
je        near ptr M01_L31
mov       rcx,2598DBE64C0
cmp       rdi,rcx
je        near ptr M01_L42
mov       rcx,2598DBE4038
cmp       rdi,rcx
je        near ptr M01_L39
mov       rcx,2598DBE4248
cmp       rdi,rcx
je        near ptr M01_L30
mov       rcx,2598DBE3F48
cmp       rdi,rcx
je        near ptr M01_L32
mov       rcx,2598DBE64E8
cmp       rdi,rcx
je        near ptr M01_L38
mov       rcx,2598DBE3D90
cmp       rdi,rcx
je        near ptr M01_L37
mov       rcx,2598DBE6448
cmp       rdi,rcx
je        near ptr M01_L36
mov       rcx,2598DBE6470
cmp       rdi,rcx
je        near ptr M01_L45
mov       rcx,2598DBE6510
cmp       rdi,rcx
je        near ptr M01_L41
mov       rcx,2598DBE6538
cmp       rdi,rcx
je        near ptr M01_L35
mov       rcx,2598DBE71E0
cmp       rdi,rcx
je        near ptr M01_L44
mov       rcx,2598DBE3C08
cmp       rdi,rcx
je        short M01_L34
mov       rcx,2598DBE0020
cmp       rdi,rcx
jne       near ptr M01_L22
mov       r14d,12
jmp       near ptr M01_L23
M01_L27
 
xor       edi,edi
jmp       near ptr M01_L10
M01_L28
 
mov       rcx,rbp
call      qword ptr [7FFE2813A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       rdi,rax
test      rdi,rdi
jne       short M01_L33
M01_L29
 
jmp       near ptr M01_L26
M01_L30
 
mov       r14d,9
jmp       near ptr M01_L23
M01_L31
 
mov       r14d,6
jmp       near ptr M01_L23
M01_L32
 
mov       r14d,0A
jmp       near ptr M01_L23
M01_L33
 
mov       rcx,offset MT_System.RuntimeType
cmp       [rdi],rcx
jne       near ptr M01_L62
jmp       short M01_L29
M01_L34
 
mov       r14d,10
jmp       near ptr M01_L23
M01_L35
 
mov       r14d,0E
jmp       near ptr M01_L23
M01_L36
 
mov       r14d,3
jmp       near ptr M01_L23
M01_L37
 
mov       r14d,0C
jmp       near ptr M01_L23
M01_L38
 
mov       r14d,0B
jmp       near ptr M01_L23
M01_L39
 
mov       r14d,8
jmp       near ptr M01_L23
M01_L40
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L24
M01_L41
 
mov       r14d,0D
jmp       near ptr M01_L23
M01_L42
 
mov       r14d,7
jmp       near ptr M01_L23
M01_L43
 
mov       r14d,5
jmp       near ptr M01_L23
M01_L44
 
mov       r14d,0F
jmp       near ptr M01_L23
M01_L45
 
mov       r14d,4
jmp       near ptr M01_L23
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46220]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46220]
jmp       near ptr M01_L17
M01_L46
 
mov       ecx,2E5
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284866E8]
int       3
M01_L47
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287BCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281FF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L48
 
call      qword ptr [7FFE28147138]
int       3
M01_L49
 
mov       rcx,rbx
call      qword ptr [7FFE28144918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L50
mov       rdx,rsi
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L50
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CB6DA8]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L51
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28486718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L52
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287BCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281FF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L53
 
test      r15,r15
jne       short M01_L54
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L55
M01_L54
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L55
 
cmp       dword ptr [r15+8],20
jle       short M01_L56
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E47FA8]
jmp       short M01_L57
M01_L56
 
mov       edx,r14d
call      qword ptr [7FFE28E4C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L57
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CB6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45410]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E453F8]
jmp       near ptr M01_L17
M01_L58
 
mov       rcx,2598DBE4010
cmp       rbp,rcx
je        short M01_L60
mov       rcx,2598DBE6560
cmp       rbp,rcx
je        short M01_L59
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L59
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44CF0]
jmp       short M01_L61
M01_L60
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44CF0]
M01_L61
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L62
 
mov       rdx,rax
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L63
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,15E46C2849E1
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,218FBC01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,15E46C2849E1
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CBDC98]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE281F7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,15E46C2849E1
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2845E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntriesCount()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-58],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-70],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L26
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFD728]
test      eax,eax
jne       near ptr M00_L28
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L38
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L28
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFD728]
test      eax,eax
jne       near ptr M00_L28
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,2AA151C7740
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L29
xor       ecx,ecx
mov       [rbp-40],rcx
mov       edi,0A
mov       ecx,1
mov       eax,ecx
test      ecx,ecx
je        near ptr M00_L31
M00_L06
 
test      eax,eax
je        near ptr M00_L32
M00_L07
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-58],rax
mov       dword ptr [rbp-50],1
lea       rdx,[rbp-58]
mov       r8d,edi
mov       r9d,2
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
test      rsi,rsi
je        near ptr M00_L34
cmp       dword ptr [rsi+8],0
je        near ptr M00_L35
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
M00_L08
 
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L36
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F40
call      qword ptr [r11]
mov       rsi,rax
M00_L09
 
mov       [rbp-60],rsi
test      rsi,rsi
je        near ptr M00_L18
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       near ptr M00_L18
jmp       short M00_L12
M00_L10
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L11
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L12
 
cmp       r14,r15
jne       short M00_L15
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L14
mov       [rax+8],r8d
jmp       short M00_L10
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       near ptr M00_L24
M00_L15
 
mov       rcx,rsi
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L22
jmp       near ptr M00_L24
M00_L16
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L21
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L13
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L17
 
mov       [rbp-48],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-48]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L18
 
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
jne       short M00_L19
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       edi,[rax+0C]
cmp       r8d,edi
jae       short M00_L20
mov       [rax+8],r8d
jmp       short M00_L16
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L23
jmp       short M00_L24
M00_L20
 
mov       [rax+8],edi
jmp       short M00_L24
M00_L21
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L22
 
mov       rcx,rsi
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L11
M00_L23
 
mov       rcx,rsi
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L17
M00_L24
 
cmp       r14,r15
jne       near ptr M00_L37
M00_L25
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L26
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,2AA151B8468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L28
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L29
 
call      qword ptr [7FFE287850E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L30
call      qword ptr [7FFE28785038]
mov       rbx,rax
M00_L30
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,2AA151B9EE0
mov       r8,rbx
call      qword ptr [7FFE282BD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L31
 
movzx     ecx,byte ptr [rbp-40]
test      cl,cl
je        near ptr M00_L06
lea       rcx,[rbp-40]
call      qword ptr [7FFE282B47B0]
mov       edi,eax
jmp       near ptr M00_L07
M00_L32
 
call      qword ptr [7FFE28785218]
mov       r15,rax
test      r15,r15
jne       short M00_L33
call      qword ptr [7FFE28785038]
mov       r15,rax
M00_L33
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,2AA151B4368
mov       r8,r15
call      qword ptr [7FFE282BD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L34
 
mov       ecx,2
call      qword ptr [7FFE2846ED00]
int       3
M00_L35
 
mov       rcx,7FFE28145120
mov       edx,30
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,26983402010
mov       rdi,[rcx]
jmp       near ptr M00_L08
M00_L36
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,26987410508
mov       rsi,[rcx]
jmp       near ptr M00_L09
M00_L37
 
mov       rcx,rsi
mov       r11,7FFE280C0F30
call      qword ptr [r11]
jmp       near ptr M00_L25
M00_L38
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-60],0
je        short M00_L39
mov       rsi,[rbp-60]
mov       r14,[rsi]
mov       r15,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       r14,r15
je        short M00_L39
mov       rcx,rsi
mov       r11,7FFE280C0F30
call      qword ptr [r11]
M00_L39
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L53
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L55
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L54
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L55
mov       rax,269834000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L62
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,2AA151B0020
cmp       rdi,rcx
je        near ptr M01_L56
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L58
mov       rcx,269834000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L62
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L59
test      rbp,rbp
je        near ptr M01_L24
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       r14d,[rax+90]
test      r14d,r14d
je        near ptr M01_L20
M01_L10
 
add       r14d,0FFFFFFFC
cmp       r14d,5
jne       near ptr M01_L60
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r15d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r13,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L44
mov       eax,r15d
mov       ecx,[r13+8]
cmp       rcx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
mov       r14,rbp
mov       rcx,r14
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L25
M01_L21
 
mov       rcx,2AA151B6498
cmp       r14,rcx
je        near ptr M01_L40
mov       rcx,2AA151B4198
cmp       r14,rcx
je        near ptr M01_L28
mov       rcx,2AA151B64C0
cmp       r14,rcx
je        near ptr M01_L39
mov       rcx,2AA151B4038
cmp       r14,rcx
je        near ptr M01_L36
mov       rcx,2AA151B4248
cmp       r14,rcx
je        near ptr M01_L27
mov       rcx,2AA151B3F48
cmp       r14,rcx
je        near ptr M01_L29
mov       rcx,2AA151B64E8
cmp       r14,rcx
je        near ptr M01_L35
mov       rcx,2AA151B3D90
cmp       r14,rcx
je        near ptr M01_L34
mov       rcx,2AA151B6448
cmp       r14,rcx
je        near ptr M01_L33
mov       rcx,2AA151B6470
cmp       r14,rcx
je        near ptr M01_L43
mov       rcx,2AA151B6510
cmp       r14,rcx
je        near ptr M01_L38
mov       rcx,2AA151B6538
cmp       r14,rcx
je        near ptr M01_L32
mov       rcx,2AA151B71E0
cmp       r14,rcx
je        near ptr M01_L42
mov       rcx,2AA151B3C08
cmp       r14,rcx
je        near ptr M01_L41
mov       rcx,2AA151B0020
cmp       r14,rcx
je        near ptr M01_L31
mov       rcx,2AA151C4C60
mov       r15d,1
mov       eax,2
cmp       r14,rcx
cmove     r15d,eax
M01_L22
 
mov       r14d,r15d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L37
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L37
M01_L23
 
mov       [rax+90],r14d
jmp       near ptr M01_L10
M01_L24
 
xor       r14d,r14d
jmp       near ptr M01_L10
M01_L25
 
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r14,rax
test      r14,r14
jne       short M01_L30
M01_L26
 
jmp       near ptr M01_L21
M01_L27
 
mov       r15d,9
jmp       short M01_L22
M01_L28
 
mov       r15d,6
jmp       short M01_L22
M01_L29
 
mov       r15d,0A
jmp       short M01_L22
M01_L30
 
mov       rcx,offset MT_System.RuntimeType
cmp       [r14],rcx
jne       near ptr M01_L61
jmp       short M01_L26
M01_L31
 
mov       r15d,12
jmp       short M01_L22
M01_L32
 
mov       r15d,0E
jmp       near ptr M01_L22
M01_L33
 
mov       r15d,3
jmp       near ptr M01_L22
M01_L34
 
mov       r15d,0C
jmp       near ptr M01_L22
M01_L35
 
mov       r15d,0B
jmp       near ptr M01_L22
M01_L36
 
mov       r15d,8
jmp       near ptr M01_L22
M01_L37
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L23
M01_L38
 
mov       r15d,0D
jmp       near ptr M01_L22
M01_L39
 
mov       r15d,7
jmp       near ptr M01_L22
M01_L40
 
mov       r15d,5
jmp       near ptr M01_L22
M01_L41
 
mov       r15d,10
jmp       near ptr M01_L22
M01_L42
 
mov       r15d,0F
jmp       near ptr M01_L22
M01_L43
 
mov       r15d,4
jmp       near ptr M01_L22
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L17
M01_L44
 
test      r13,r13
jne       short M01_L45
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L46
M01_L45
 
lea       rcx,[r13+10]
mov       r8d,[r13+8]
M01_L46
 
cmp       dword ptr [r13+8],20
jle       short M01_L47
mov       edx,r8d
mov       r8d,r15d
call      qword ptr [7FFE28E57FA8]
jmp       short M01_L48
M01_L47
 
mov       edx,r15d
call      qword ptr [7FFE28E5C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L48
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC6B80]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55410]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E553F8]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Char
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56250]
jmp       near ptr M01_L17
M01_L49
 
mov       rcx,2AA151B4010
cmp       rbp,rcx
je        short M01_L51
mov       rcx,2AA151B6560
cmp       rbp,rcx
je        short M01_L50
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L50
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
jmp       short M01_L52
M01_L51
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
M01_L52
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L53
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L54
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L55
 
call      qword ptr [7FFE28157138]
int       3
M01_L56
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L57
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L57
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC6B50]
not       eax
shr       eax,1F
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L58
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L59
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE2820F708]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L60
 
cmp       r14d,0A
ja        near ptr M01_L49
mov       edx,r14d
lea       rcx,[7FFE28D8C6B0]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L61
 
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L62
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0C0906F58BD1
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L05
test      r14d,0FFFFFFFC
jne       near ptr M02_L06
M02_L00
 
cmp       edi,1
jle       near ptr M02_L07
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L07
cmp       dword ptr [rbx+8],0
je        near ptr M02_L09
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L10
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L11
test      r14d,r14d
je        near ptr M02_L12
xor       r15d,r15d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r15
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,26983401F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rdi
mov       rcx,0C0906F58BD1
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCDD70]
int       3
M02_L06
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L07
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0C0906F58BD1
cmp       [rbp],rcx
je        short M02_L08
call      CORINFO_HELP_FAIL_FAST
M02_L08
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L09
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L10
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L11
 
mov       edi,1
jmp       near ptr M02_L00
M02_L12
 
xor       r15d,r15d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r15
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       near ptr M02_L02
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28D1DC80]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28D1DC80]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,244922E7720
cmp       [rcx],ecx
call      qword ptr [7FFE2816A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,2
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282270C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280E1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280E1060
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280E1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280E1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2848EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280E1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280E1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287A52D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE287A5020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,244922D8468
mov       r8,rbx
call      qword ptr [7FFE284B6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282273F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287A50E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE287A5038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,244922D9EE0
mov       r8,rdi
call      qword ptr [7FFE282DD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2848ED00]
int       3
M00_L29
 
mov       rcx,7FFE28165120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,20400402008
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280E1050
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280E1050
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L48
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L50
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L49
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L50
mov       rax,204004000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L65
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,244922D0020
cmp       rdi,rcx
je        near ptr M01_L51
mov       rcx,rdi
call      qword ptr [7FFE28176070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L53
mov       rcx,204004000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L65
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L54
test      rbp,rbp
je        near ptr M01_L24
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L23
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L23
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L25
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28647528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L55
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
jmp       short M01_L20
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
mov       rdx,rsi
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E85D70]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L60
mov       edx,edi
lea       rcx,[7FFE28D7BBA8]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
mov       rcx,rbp
call      qword ptr [7FFE28176658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L24
 
xor       edi,edi
jmp       near ptr M01_L10
M01_L25
 
mov       rdi,rbp
mov       rcx,rdi
call      qword ptr [7FFE28176AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L29
M01_L26
 
mov       rcx,244922D6498
cmp       rdi,rcx
je        near ptr M01_L44
mov       rcx,244922D4198
cmp       rdi,rcx
je        near ptr M01_L32
mov       rcx,244922D64C0
cmp       rdi,rcx
je        near ptr M01_L43
mov       rcx,244922D4038
cmp       rdi,rcx
je        near ptr M01_L40
mov       rcx,244922D4248
cmp       rdi,rcx
je        near ptr M01_L31
mov       rcx,244922D3F48
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,244922D64E8
cmp       rdi,rcx
je        near ptr M01_L39
mov       rcx,244922D3D90
cmp       rdi,rcx
je        near ptr M01_L38
mov       rcx,244922D6448
cmp       rdi,rcx
je        near ptr M01_L37
mov       rcx,244922D6470
cmp       rdi,rcx
je        near ptr M01_L47
mov       rcx,244922D6510
cmp       rdi,rcx
je        near ptr M01_L42
mov       rcx,244922D6538
cmp       rdi,rcx
je        near ptr M01_L36
mov       rcx,244922D71E0
cmp       rdi,rcx
je        near ptr M01_L46
mov       rcx,244922D3C08
cmp       rdi,rcx
je        near ptr M01_L45
mov       rcx,244922D0020
cmp       rdi,rcx
je        near ptr M01_L35
mov       rcx,244922E4C60
mov       r14d,1
mov       eax,2
cmp       rdi,rcx
cmove     r14d,eax
M01_L27
 
mov       edi,r14d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L41
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L41
M01_L28
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L29
 
mov       rcx,rbp
call      qword ptr [7FFE2816A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       rdi,rax
test      rdi,rdi
jne       short M01_L34
M01_L30
 
jmp       near ptr M01_L26
M01_L31
 
mov       r14d,9
jmp       short M01_L27
M01_L32
 
mov       r14d,6
jmp       short M01_L27
M01_L33
 
mov       r14d,0A
jmp       short M01_L27
M01_L34
 
mov       rcx,offset MT_System.RuntimeType
cmp       [rdi],rcx
jne       near ptr M01_L64
jmp       short M01_L30
M01_L35
 
mov       r14d,12
jmp       short M01_L27
M01_L36
 
mov       r14d,0E
jmp       short M01_L27
M01_L37
 
mov       r14d,3
jmp       near ptr M01_L27
M01_L38
 
mov       r14d,0C
jmp       near ptr M01_L27
M01_L39
 
mov       r14d,0B
jmp       near ptr M01_L27
M01_L40
 
mov       r14d,8
jmp       near ptr M01_L27
M01_L41
 
mov       rcx,rbp
call      qword ptr [7FFE28176658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L28
M01_L42
 
mov       r14d,0D
jmp       near ptr M01_L27
M01_L43
 
mov       r14d,7
jmp       near ptr M01_L27
M01_L44
 
mov       r14d,5
jmp       near ptr M01_L27
M01_L45
 
mov       r14d,10
jmp       near ptr M01_L27
M01_L46
 
mov       r14d,0F
jmp       near ptr M01_L27
M01_L47
 
mov       r14d,4
jmp       near ptr M01_L27
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85D58]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85D58]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85D40]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85D40]
jmp       near ptr M01_L16
M01_L48
 
mov       ecx,2E5
mov       rdx,7FFE280D4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284B66E8]
int       3
M01_L49
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287ECD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287EC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2822F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L50
 
call      qword ptr [7FFE28177138]
int       3
M01_L51
 
mov       rcx,rbx
call      qword ptr [7FFE28174918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L52
mov       rdx,rsi
call      qword ptr [7FFE282243F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L52
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CE5CB0]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L53
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE28805170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284B6718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L54
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287ECDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287EC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2822F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L55
 
test      r15,r15
jne       short M01_L56
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L57
M01_L56
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L57
 
cmp       dword ptr [r15+8],20
jle       short M01_L58
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E87AC8]
jmp       short M01_L59
M01_L58
 
mov       edx,r14d
call      qword ptr [7FFE28E87F90]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L59
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CE5CE0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85638]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E85638]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E84F30]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E84F18]
jmp       near ptr M01_L16
M01_L60
 
mov       rcx,244922D4010
cmp       rbp,rcx
je        short M01_L62
mov       rcx,244922D6560
cmp       rbp,rcx
je        short M01_L61
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28805170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE284B6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L61
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E84810]
jmp       short M01_L63
M01_L62
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28224408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E84810]
M01_L63
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L64
 
mov       rdx,rax
call      qword ptr [7FFE282243F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L65
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0EB726FA530FD
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282271B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28227198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,20400401F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A21D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,0EB726FA530FD
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28227180]
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280D4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CECBA0]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2848ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28227150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0EB726FA530FD
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2848E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFF498]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFF498]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,2CEEE837720
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,2
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280C1060
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280C1068
call      qword ptr [r11]
mov       rcx,rax
M00_L06
 
mov       [rbp-58],rcx
test      rcx,rcx
je        near ptr M00_L15
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L10
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L08
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L09
 
cmp       rsi,rdi
jne       short M00_L12
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r14d
jmp       near ptr M00_L21
M00_L12
 
mov       r11,7FFE280C1048
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
mov       rcx,[rbp-58]
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L10
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L14
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L15
 
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       short M00_L16
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       r11,7FFE280C1048
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
mov       rcx,[rbp-58]
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r14d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L19
 
mov       rcx,[rbp-58]
mov       r11,7FFE280C1050
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,[rbp-58]
mov       r11,7FFE280C1050
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rsi,rdi
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rcx,r13
mov       rdx,2CEEE828468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,r13
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287850E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28785038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,2CEEE829EE0
mov       r8,rdi
call      qword ptr [7FFE282BD470]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2846ED00]
int       3
M00_L29
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,28E5C802008
mov       rcx,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       r11,7FFE280C1058
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rcx,[rbp-58]
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
je        short M00_L32
mov       r11,7FFE280C1058
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L48
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L50
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L49
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L50
mov       rax,28E5C8000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L65
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,2CEEE820020
cmp       rdi,rcx
je        near ptr M01_L51
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L53
mov       rcx,28E5C8000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L65
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L54
test      rbp,rbp
je        near ptr M01_L24
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L23
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L23
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L25
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L55
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
jmp       short M01_L20
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
mov       rdx,rsi
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E655D8]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L60
mov       edx,edi
lea       rcx,[7FFE28D6BEA8]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L24
 
xor       edi,edi
jmp       near ptr M01_L10
M01_L25
 
mov       rdi,rbp
mov       rcx,rdi
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L29
M01_L26
 
mov       rcx,2CEEE826498
cmp       rdi,rcx
je        near ptr M01_L44
mov       rcx,2CEEE824198
cmp       rdi,rcx
je        near ptr M01_L32
mov       rcx,2CEEE8264C0
cmp       rdi,rcx
je        near ptr M01_L43
mov       rcx,2CEEE824038
cmp       rdi,rcx
je        near ptr M01_L40
mov       rcx,2CEEE824248
cmp       rdi,rcx
je        near ptr M01_L31
mov       rcx,2CEEE823F48
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,2CEEE8264E8
cmp       rdi,rcx
je        near ptr M01_L39
mov       rcx,2CEEE823D90
cmp       rdi,rcx
je        near ptr M01_L38
mov       rcx,2CEEE826448
cmp       rdi,rcx
je        near ptr M01_L37
mov       rcx,2CEEE826470
cmp       rdi,rcx
je        near ptr M01_L47
mov       rcx,2CEEE826510
cmp       rdi,rcx
je        near ptr M01_L42
mov       rcx,2CEEE826538
cmp       rdi,rcx
je        near ptr M01_L36
mov       rcx,2CEEE8271E0
cmp       rdi,rcx
je        near ptr M01_L46
mov       rcx,2CEEE823C08
cmp       rdi,rcx
je        near ptr M01_L45
mov       rcx,2CEEE820020
cmp       rdi,rcx
je        near ptr M01_L35
mov       rcx,2CEEE834C60
mov       r14d,1
mov       eax,2
cmp       rdi,rcx
cmove     r14d,eax
M01_L27
 
mov       edi,r14d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L41
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L41
M01_L28
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L29
 
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       rdi,rax
test      rdi,rdi
jne       short M01_L34
M01_L30
 
jmp       near ptr M01_L26
M01_L31
 
mov       r14d,9
jmp       short M01_L27
M01_L32
 
mov       r14d,6
jmp       short M01_L27
M01_L33
 
mov       r14d,0A
jmp       short M01_L27
M01_L34
 
mov       rcx,offset MT_System.RuntimeType
cmp       [rdi],rcx
jne       near ptr M01_L64
jmp       short M01_L30
M01_L35
 
mov       r14d,12
jmp       short M01_L27
M01_L36
 
mov       r14d,0E
jmp       short M01_L27
M01_L37
 
mov       r14d,3
jmp       near ptr M01_L27
M01_L38
 
mov       r14d,0C
jmp       near ptr M01_L27
M01_L39
 
mov       r14d,0B
jmp       near ptr M01_L27
M01_L40
 
mov       r14d,8
jmp       near ptr M01_L27
M01_L41
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L28
M01_L42
 
mov       r14d,0D
jmp       near ptr M01_L27
M01_L43
 
mov       r14d,7
jmp       near ptr M01_L27
M01_L44
 
mov       r14d,5
jmp       near ptr M01_L27
M01_L45
 
mov       r14d,10
jmp       near ptr M01_L27
M01_L46
 
mov       r14d,0F
jmp       near ptr M01_L27
M01_L47
 
mov       r14d,4
jmp       near ptr M01_L27
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E655C0]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E655C0]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E655A8]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E655A8]
jmp       near ptr M01_L16
M01_L48
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L49
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L50
 
call      qword ptr [7FFE28157138]
int       3
M01_L51
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L52
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L52
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L53
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L54
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L55
 
test      r15,r15
jne       short M01_L56
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L57
M01_L56
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L57
 
cmp       dword ptr [r15+8],20
jle       short M01_L58
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E67330]
jmp       short M01_L59
M01_L58
 
mov       edx,r14d
call      qword ptr [7FFE28E677F8]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L59
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64EA0]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64EA0]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64798]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64780]
jmp       near ptr M01_L16
M01_L60
 
mov       rcx,2CEEE824010
cmp       rbp,rcx
je        short M01_L62
mov       rcx,2CEEE826560
cmp       rbp,rcx
je        short M01_L61
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L61
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64078]
jmp       short M01_L63
M01_L62
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64078]
M01_L63
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L64
 
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L65
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,7DF88769C12C
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,28E5C801F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,7DF88769C12C
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCC870]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,7DF88769C12C
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L03
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
M00_L02
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L03
 
call      qword ptr [7FFE28DE40F0]
test      eax,eax
jne       near ptr M00_L25
jmp       short M00_L02
M00_L04
 
call      qword ptr [7FFE28DE40F0]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,21944BF7720
cmp       [rcx],ecx
call      qword ptr [7FFE2815A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,2
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280D1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280D1060
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2847EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287952D8]
mov       rsi,rax
test      rsi,rsi
jne       short M00_L24
call      qword ptr [7FFE28795020]
mov       rsi,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,21944BE8468
mov       r8,rsi
call      qword ptr [7FFE284A6670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287950E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28795038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,21944BE9EE0
mov       r8,rdi
call      qword ptr [7FFE282CD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2847ED00]
int       3
M00_L29
 
mov       rcx,7FFE28155120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1D8B2C02010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L47
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L49
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L48
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L49
mov       rax,1D8B2C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L64
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,21944BE0020
cmp       rdi,rcx
je        near ptr M01_L50
mov       rcx,rdi
call      qword ptr [7FFE28166070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L52
mov       rcx,1D8B2C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L64
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L53
test      rbp,rbp
je        near ptr M01_L23
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L19
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L19
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L24
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L22
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L20
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28637528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L17
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L54
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L18
 
jmp       short M01_L16
M01_L19
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L20
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E66370]
jmp       short M01_L16
M01_L22
 
cmp       edi,0A
ja        near ptr M01_L59
mov       edx,edi
lea       rcx,[7FFE28D6D7C8]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L23
 
xor       edi,edi
jmp       near ptr M01_L10
M01_L24
 
mov       rdi,rbp
mov       rcx,rdi
call      qword ptr [7FFE28166AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L28
M01_L25
 
mov       rcx,21944BE6498
cmp       rdi,rcx
je        near ptr M01_L43
mov       rcx,21944BE4198
cmp       rdi,rcx
je        near ptr M01_L31
mov       rcx,21944BE64C0
cmp       rdi,rcx
je        near ptr M01_L42
mov       rcx,21944BE4038
cmp       rdi,rcx
je        near ptr M01_L39
mov       rcx,21944BE4248
cmp       rdi,rcx
je        near ptr M01_L30
mov       rcx,21944BE3F48
cmp       rdi,rcx
je        near ptr M01_L32
mov       rcx,21944BE64E8
cmp       rdi,rcx
je        near ptr M01_L38
mov       rcx,21944BE3D90
cmp       rdi,rcx
je        near ptr M01_L37
mov       rcx,21944BE6448
cmp       rdi,rcx
je        near ptr M01_L36
mov       rcx,21944BE6470
cmp       rdi,rcx
je        near ptr M01_L46
mov       rcx,21944BE6510
cmp       rdi,rcx
je        near ptr M01_L41
mov       rcx,21944BE6538
cmp       rdi,rcx
je        near ptr M01_L35
mov       rcx,21944BE71E0
cmp       rdi,rcx
je        near ptr M01_L45
mov       rcx,21944BE3C08
cmp       rdi,rcx
je        near ptr M01_L44
mov       rcx,21944BE0020
cmp       rdi,rcx
je        near ptr M01_L34
mov       rcx,21944BF4C60
mov       r14d,1
mov       eax,2
cmp       rdi,rcx
cmove     r14d,eax
M01_L26
 
mov       edi,r14d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L40
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L40
M01_L27
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L28
 
mov       rcx,rbp
call      qword ptr [7FFE2815A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       rdi,rax
test      rdi,rdi
jne       short M01_L33
M01_L29
 
jmp       near ptr M01_L25
M01_L30
 
mov       r14d,9
jmp       short M01_L26
M01_L31
 
mov       r14d,6
jmp       short M01_L26
M01_L32
 
mov       r14d,0A
jmp       short M01_L26
M01_L33
 
mov       rcx,offset MT_System.RuntimeType
cmp       [rdi],rcx
jne       near ptr M01_L63
jmp       short M01_L29
M01_L34
 
mov       r14d,12
jmp       short M01_L26
M01_L35
 
mov       r14d,0E
jmp       short M01_L26
M01_L36
 
mov       r14d,3
jmp       near ptr M01_L26
M01_L37
 
mov       r14d,0C
jmp       near ptr M01_L26
M01_L38
 
mov       r14d,0B
jmp       near ptr M01_L26
M01_L39
 
mov       r14d,8
jmp       near ptr M01_L26
M01_L40
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L27
M01_L41
 
mov       r14d,0D
jmp       near ptr M01_L26
M01_L42
 
mov       r14d,7
jmp       near ptr M01_L26
M01_L43
 
mov       r14d,5
jmp       near ptr M01_L26
M01_L44
 
mov       r14d,10
jmp       near ptr M01_L26
M01_L45
 
mov       r14d,0F
jmp       near ptr M01_L26
M01_L46
 
mov       r14d,4
jmp       near ptr M01_L26
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66358]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66358]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66340]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66340]
jmp       near ptr M01_L16
M01_L47
 
mov       ecx,2E5
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L48
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L49
 
call      qword ptr [7FFE28167138]
int       3
M01_L50
 
mov       rcx,rbx
call      qword ptr [7FFE28164918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L51
mov       rdx,rsi
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L51
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CD5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L52
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284A6718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L53
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L54
 
test      r15,r15
jne       short M01_L55
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L56
M01_L55
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L56
 
cmp       dword ptr [r15+8],20
jle       short M01_L57
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E6C2B8]
jmp       short M01_L58
M01_L57
 
mov       edx,r14d
call      qword ptr [7FFE28E6C780]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L58
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CD59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65C38]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65C38]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65530]
jmp       near ptr M01_L16
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65518]
jmp       near ptr M01_L16
M01_L59
 
mov       rcx,21944BE4010
cmp       rbp,rcx
je        short M01_L61
mov       rcx,21944BE6560
cmp       rbp,rcx
je        short M01_L60
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE284A6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L60
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64E10]
jmp       short M01_L62
M01_L61
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64E10]
M01_L62
 
movzx     eax,al
jmp       near ptr M01_L16
M01_L63
 
mov       rdx,rax
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L64
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,733383014DAD
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282171B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1D8B2C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,733383014DAD
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CDCBA0]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28217150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,733383014DAD
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2847E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28DE4348]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28DE4348]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,24B77D27720
cmp       [rcx],ecx
call      qword ptr [7FFE2815A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,2
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280D1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280D1060
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2847EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287952D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28795020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,24B77D18468
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287950E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28795038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,24B77D19EE0
mov       r8,rdi
call      qword ptr [7FFE282CD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2847ED00]
int       3
M00_L29
 
mov       rcx,7FFE28155120
mov       edx,19
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,20AE5C02010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280D1050
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L25
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L24
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L25
mov       rax,20AE5C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L59
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,24B77D10020
cmp       rdi,rcx
je        near ptr M01_L26
mov       rcx,rdi
call      qword ptr [7FFE28166070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L28
mov       rcx,20AE5C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L59
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L29
test      rbp,rbp
je        near ptr M01_L22
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L39
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L21
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28637528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L30
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L20
mov       rdx,rsi
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L20
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E66250]
jmp       short M01_L17
M01_L21
 
cmp       edi,0A
ja        near ptr M01_L35
mov       edx,edi
lea       rcx,[7FFE28D6DAB8]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L22
 
xor       edi,edi
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66220]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E66220]
jmp       near ptr M01_L17
M01_L23
 
mov       ecx,2E5
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L24
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE28167138]
int       3
M01_L26
 
mov       rcx,rbx
call      qword ptr [7FFE28164918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L27
mov       rdx,rsi
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L27
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CD5980]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L28
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284A6718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L29
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L30
 
test      r15,r15
jne       short M01_L31
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L32
M01_L31
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L32
 
cmp       dword ptr [r15+8],20
jle       short M01_L33
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E67FA8]
jmp       short M01_L34
M01_L33
 
mov       edx,r14d
call      qword ptr [7FFE28E6C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L34
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CD59B0]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65410]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E653F8]
jmp       near ptr M01_L17
M01_L35
 
mov       rcx,24B77D14010
cmp       rbp,rcx
je        short M01_L37
mov       rcx,24B77D16560
cmp       rbp,rcx
je        short M01_L36
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE284A6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64CF0]
jmp       short M01_L38
M01_L37
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E64CF0]
M01_L38
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L39
 
mov       r15,rbp
mov       rcx,r15
call      qword ptr [7FFE28166AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L40
mov       rcx,rbp
call      qword ptr [7FFE2815A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r15,rax
test      r15,r15
je        short M01_L40
mov       rcx,offset MT_System.RuntimeType
cmp       [r15],rcx
je        short M01_L40
mov       rdx,rax
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L40
 
mov       rcx,24B77D16498
cmp       r15,rcx
jne       short M01_L41
mov       edi,5
jmp       near ptr M01_L56
M01_L41
 
mov       rcx,24B77D14198
cmp       r15,rcx
jne       short M01_L42
mov       edi,6
jmp       near ptr M01_L56
M01_L42
 
mov       rcx,24B77D164C0
cmp       r15,rcx
jne       short M01_L43
mov       edi,7
jmp       near ptr M01_L56
M01_L43
 
mov       rcx,24B77D14038
cmp       r15,rcx
jne       short M01_L44
mov       edi,8
jmp       near ptr M01_L56
M01_L44
 
mov       rcx,24B77D14248
cmp       r15,rcx
jne       short M01_L45
mov       edi,9
jmp       near ptr M01_L56
M01_L45
 
mov       rcx,24B77D13F48
cmp       r15,rcx
jne       short M01_L46
mov       edi,0A
jmp       near ptr M01_L56
M01_L46
 
mov       rcx,24B77D164E8
cmp       r15,rcx
jne       short M01_L47
mov       edi,0B
jmp       near ptr M01_L56
M01_L47
 
mov       rcx,24B77D13D90
cmp       r15,rcx
jne       short M01_L48
mov       edi,0C
jmp       near ptr M01_L56
M01_L48
 
mov       rcx,24B77D16448
cmp       r15,rcx
jne       short M01_L49
mov       edi,3
jmp       near ptr M01_L56
M01_L49
 
mov       rcx,24B77D16470
cmp       r15,rcx
jne       short M01_L50
mov       edi,4
jmp       near ptr M01_L56
M01_L50
 
mov       rcx,24B77D16510
cmp       r15,rcx
jne       short M01_L51
mov       edi,0D
jmp       short M01_L56
M01_L51
 
mov       rcx,24B77D16538
cmp       r15,rcx
jne       short M01_L52
mov       edi,0E
jmp       short M01_L56
M01_L52
 
mov       rcx,24B77D172F8
cmp       r15,rcx
jne       short M01_L53
mov       edi,0F
jmp       short M01_L56
M01_L53
 
mov       rcx,24B77D13C08
cmp       r15,rcx
jne       short M01_L54
mov       edi,10
jmp       short M01_L56
M01_L54
 
mov       rcx,24B77D10020
cmp       r15,rcx
jne       short M01_L55
mov       edi,12
jmp       short M01_L56
M01_L55
 
mov       rcx,24B77D24C60
mov       edi,1
mov       eax,2
cmp       r15,rcx
cmove     edi,eax
M01_L56
 
cmp       qword ptr [rbp+10],0
je        short M01_L57
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L57
jmp       short M01_L58
M01_L57
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
M01_L58
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L59
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0F207F3A943D3
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282171B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,20AE5C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,0F207F3A943D3
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CDCBA0]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28217150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0F207F3A943D3
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2847E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFD440]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFD440]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,1E70DCC7740
cmp       [rcx],ecx
call      qword ptr [7FFE2814A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,2
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F40
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1E70DCB8468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287850E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28785038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,1E70DCB9EE0
mov       r8,rdi
call      qword ptr [7FFE282BD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2846ED00]
int       3
M00_L29
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1A67C002010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280C0F30
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280C0F30
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L30
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L32
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L31
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L32
mov       rax,1A67C0000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,1E70DCB0020
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,rdi
call      qword ptr [7FFE28156070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L35
mov       rcx,1A67C0000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L36
test      rbp,rbp
je        near ptr M01_L20
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L16
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L16
M01_L09
 
mov       r14d,[rax+90]
test      r14d,r14d
je        near ptr M01_L37
M01_L10
 
add       r14d,0FFFFFFFC
cmp       r14d,5
jne       near ptr M01_L57
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r15d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28627528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L17
 
mov       r13,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L21
mov       eax,r15d
mov       ecx,[r13+8]
cmp       rcx,rax
seta      al
movzx     eax,al
M01_L18
 
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
xor       r14d,r14d
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56238]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56220]
jmp       near ptr M01_L18
M01_L21
 
test      r13,r13
jne       short M01_L22
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L23
M01_L22
 
lea       rcx,[r13+10]
mov       r8d,[r13+8]
M01_L23
 
cmp       dword ptr [r13+8],20
jle       short M01_L24
mov       edx,r8d
mov       r8d,r15d
call      qword ptr [7FFE28E57FA8]
jmp       short M01_L25
M01_L24
 
mov       edx,r15d
call      qword ptr [7FFE28E5C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L25
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CC6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55B18]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E55410]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E553F8]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Char
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E56250]
jmp       near ptr M01_L18
M01_L26
 
mov       rcx,1E70DCB4010
cmp       rbp,rcx
je        short M01_L28
mov       rcx,1E70DCB6560
cmp       rbp,rcx
je        short M01_L27
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28496718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L27
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
jmp       short M01_L29
M01_L28
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28204408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E54CF0]
M01_L29
 
movzx     eax,al
jmp       near ptr M01_L18
M01_L30
 
mov       ecx,2E5
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L31
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287CCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2820F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L32
 
call      qword ptr [7FFE28157138]
int       3
M01_L33
 
mov       rcx,rbx
call      qword ptr [7FFE28154918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L34
mov       rdx,rsi
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L34
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CC6DA8]
not       eax
shr       eax,1F
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L35
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28496718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
call      qword ptr [7FFE287CCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287CC768]
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE2820F708]
mov       rcx,r14
call      CORINFO_HELP_THROW
M01_L37
 
mov       r13,rbp
mov       rcx,r13
call      qword ptr [7FFE28156AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L38
mov       rcx,rbp
call      qword ptr [7FFE2814A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r13,rax
test      r13,r13
je        short M01_L38
mov       rcx,offset MT_System.RuntimeType
cmp       [r13],rcx
je        short M01_L38
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L38
 
mov       rcx,1E70DCB6498
cmp       r13,rcx
jne       short M01_L39
mov       r14d,5
jmp       near ptr M01_L54
M01_L39
 
mov       rcx,1E70DCB4198
cmp       r13,rcx
jne       short M01_L40
mov       r14d,6
jmp       near ptr M01_L54
M01_L40
 
mov       rcx,1E70DCB64C0
cmp       r13,rcx
jne       short M01_L41
mov       r14d,7
jmp       near ptr M01_L54
M01_L41
 
mov       rcx,1E70DCB4038
cmp       r13,rcx
jne       short M01_L42
mov       r14d,8
jmp       near ptr M01_L54
M01_L42
 
mov       rcx,1E70DCB4248
cmp       r13,rcx
jne       short M01_L43
mov       r14d,9
jmp       near ptr M01_L54
M01_L43
 
mov       rcx,1E70DCB3F48
cmp       r13,rcx
jne       short M01_L44
mov       r14d,0A
jmp       near ptr M01_L54
M01_L44
 
mov       rcx,1E70DCB64E8
cmp       r13,rcx
jne       short M01_L45
mov       r14d,0B
jmp       near ptr M01_L54
M01_L45
 
mov       rcx,1E70DCB3D90
cmp       r13,rcx
jne       short M01_L46
mov       r14d,0C
jmp       near ptr M01_L54
M01_L46
 
mov       rcx,1E70DCB6448
cmp       r13,rcx
jne       short M01_L47
mov       r14d,3
jmp       near ptr M01_L54
M01_L47
 
mov       rcx,1E70DCB6470
cmp       r13,rcx
jne       short M01_L48
mov       r14d,4
jmp       near ptr M01_L54
M01_L48
 
mov       rcx,1E70DCB6510
cmp       r13,rcx
jne       short M01_L49
mov       r14d,0D
jmp       short M01_L54
M01_L49
 
mov       rcx,1E70DCB6538
cmp       r13,rcx
jne       short M01_L50
mov       r14d,0E
jmp       short M01_L54
M01_L50
 
mov       rcx,1E70DCB71E0
cmp       r13,rcx
jne       short M01_L51
mov       r14d,0F
jmp       short M01_L54
M01_L51
 
mov       rcx,1E70DCB3C08
cmp       r13,rcx
jne       short M01_L52
mov       r14d,10
jmp       short M01_L54
M01_L52
 
mov       rcx,1E70DCB0020
cmp       r13,rcx
jne       short M01_L53
mov       r14d,12
jmp       short M01_L54
M01_L53
 
mov       rcx,1E70DCC4C60
mov       r14d,1
mov       eax,2
cmp       r13,rcx
cmove     r14d,eax
M01_L54
 
cmp       qword ptr [rbp+10],0
je        short M01_L55
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L55
jmp       short M01_L56
M01_L55
 
mov       rcx,rbp
call      qword ptr [7FFE28156658]; System.RuntimeType.InitializeCache()
M01_L56
 
mov       [rax+90],r14d
jmp       near ptr M01_L10
M01_L57
 
cmp       r14d,0A
ja        near ptr M01_L26
mov       edx,r14d
lea       rcx,[7FFE28D6B110]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L58
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0F68F6AF71966
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1A67C001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,0F68F6AF71966
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CCDC98]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0F68F6AF71966
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2846E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CED758]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CED758]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,1556BA37740
cmp       [rcx],ecx
call      qword ptr [7FFE2813A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,2
mov       r8d,7FFFFFFF
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280B0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280B0F40
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280B0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L16
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       rcx,rsi
mov       r11,7FFE280B0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L20
jmp       short M00_L21
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2845EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280B0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280B0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L14
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1556BA28468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287750E0]
mov       rdi,rax
test      rdi,rdi
jne       short M00_L27
call      qword ptr [7FFE28775038]
mov       rdi,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,1556BA29EE0
mov       r8,rdi
call      qword ptr [7FFE282AD470]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2845ED00]
int       3
M00_L29
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,114D9C02010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280B0F30
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280B0F30
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L46
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L48
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L47
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L48
mov       rax,114D9C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L63
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,1556BA20020
cmp       rdi,rcx
je        near ptr M01_L49
mov       rcx,rdi
call      qword ptr [7FFE28146070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L51
mov       rcx,114D9C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L63
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L52
test      rbp,rbp
je        near ptr M01_L26
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       edi,[rax+90]
test      edi,edi
je        near ptr M01_L22
M01_L10
 
add       edi,0FFFFFFFC
cmp       edi,5
jne       near ptr M01_L20
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r14d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28617528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r15,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L53
mov       eax,r14d
mov       edx,[r15+8]
cmp       rdx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
cmp       edi,0A
ja        near ptr M01_L58
mov       edx,edi
lea       rcx,[7FFE28D6B2E8]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
mov       rcx,offset MT_System.Char
cmp       [rsi],rcx
je        short M01_L21
mov       rdx,rsi
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L21
 
movzx     edx,word ptr [rsi+8]
mov       rcx,rbx
call      qword ptr [7FFE28E46250]
jmp       short M01_L17
M01_L22
 
mov       rdi,rbp
mov       rcx,rdi
call      qword ptr [7FFE28146AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L27
M01_L23
 
mov       rcx,1556BA26498
cmp       rdi,rcx
je        near ptr M01_L42
mov       rcx,1556BA24198
cmp       rdi,rcx
je        near ptr M01_L30
mov       rcx,1556BA264C0
cmp       rdi,rcx
je        near ptr M01_L41
mov       rcx,1556BA24038
cmp       rdi,rcx
je        near ptr M01_L38
mov       rcx,1556BA24248
cmp       rdi,rcx
je        near ptr M01_L29
mov       rcx,1556BA23F48
cmp       rdi,rcx
je        near ptr M01_L31
mov       rcx,1556BA264E8
cmp       rdi,rcx
je        near ptr M01_L37
mov       rcx,1556BA23D90
cmp       rdi,rcx
je        near ptr M01_L36
mov       rcx,1556BA26448
cmp       rdi,rcx
je        near ptr M01_L35
mov       rcx,1556BA26470
cmp       rdi,rcx
je        near ptr M01_L45
mov       rcx,1556BA26510
cmp       rdi,rcx
je        near ptr M01_L40
mov       rcx,1556BA26538
cmp       rdi,rcx
je        near ptr M01_L34
mov       rcx,1556BA271E0
cmp       rdi,rcx
je        near ptr M01_L44
mov       rcx,1556BA23C08
cmp       rdi,rcx
je        near ptr M01_L43
mov       rcx,1556BA20020
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,1556BA34C60
mov       r14d,1
mov       eax,2
cmp       rdi,rcx
cmove     r14d,eax
M01_L24
 
mov       edi,r14d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L39
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L39
M01_L25
 
mov       [rax+90],edi
jmp       near ptr M01_L10
M01_L26
 
xor       edi,edi
jmp       near ptr M01_L10
M01_L27
 
mov       rcx,rbp
call      qword ptr [7FFE2813A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       rdi,rax
test      rdi,rdi
jne       short M01_L32
M01_L28
 
jmp       near ptr M01_L23
M01_L29
 
mov       r14d,9
jmp       short M01_L24
M01_L30
 
mov       r14d,6
jmp       short M01_L24
M01_L31
 
mov       r14d,0A
jmp       short M01_L24
M01_L32
 
mov       rcx,offset MT_System.RuntimeType
cmp       [rdi],rcx
jne       near ptr M01_L62
jmp       short M01_L28
M01_L33
 
mov       r14d,12
jmp       short M01_L24
M01_L34
 
mov       r14d,0E
jmp       near ptr M01_L24
M01_L35
 
mov       r14d,3
jmp       near ptr M01_L24
M01_L36
 
mov       r14d,0C
jmp       near ptr M01_L24
M01_L37
 
mov       r14d,0B
jmp       near ptr M01_L24
M01_L38
 
mov       r14d,8
jmp       near ptr M01_L24
M01_L39
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L25
M01_L40
 
mov       r14d,0D
jmp       near ptr M01_L24
M01_L41
 
mov       r14d,7
jmp       near ptr M01_L24
M01_L42
 
mov       r14d,5
jmp       near ptr M01_L24
M01_L43
 
mov       r14d,10
jmp       near ptr M01_L24
M01_L44
 
mov       r14d,0F
jmp       near ptr M01_L24
M01_L45
 
mov       r14d,4
jmp       near ptr M01_L24
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46220]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46220]
jmp       near ptr M01_L17
M01_L46
 
mov       ecx,2E5
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284866E8]
int       3
M01_L47
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287BCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281FF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L48
 
call      qword ptr [7FFE28147138]
int       3
M01_L49
 
mov       rcx,rbx
call      qword ptr [7FFE28144918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L50
mov       rdx,rsi
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L50
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CB6B50]
not       eax
shr       eax,1F
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L51
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28486718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L52
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287BCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281FF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L53
 
test      r15,r15
jne       short M01_L54
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L55
M01_L54
 
lea       rcx,[r15+10]
mov       r8d,[r15+8]
M01_L55
 
cmp       dword ptr [r15+8],20
jle       short M01_L56
mov       edx,r8d
mov       r8d,r14d
call      qword ptr [7FFE28E47FA8]
jmp       short M01_L57
M01_L56
 
mov       edx,r14d
call      qword ptr [7FFE28E4C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L57
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CB6B80]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45410]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E453F8]
jmp       near ptr M01_L17
M01_L58
 
mov       rcx,1556BA24010
cmp       rbp,rcx
je        short M01_L60
mov       rcx,1556BA26560
cmp       rbp,rcx
je        short M01_L59
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L59
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44CF0]
jmp       short M01_L61
M01_L60
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44CF0]
M01_L61
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L62
 
mov       rdx,rax
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L63
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,2D6967AF3F92
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,114D9C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,2D6967AF3F92
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CBDD70]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE281F7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,2D6967AF3F92
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2845E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L24
cmp       dword ptr [rsi+8],0
je        short M00_L03
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L26
M00_L02
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L32
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L05
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L26
M00_L03
 
jmp       short M00_L06
M00_L04
 
call      qword ptr [7FFE28CED440]
test      eax,eax
jne       near ptr M00_L26
jmp       short M00_L02
M00_L05
 
call      qword ptr [7FFE28CED440]
test      eax,eax
jne       near ptr M00_L26
jmp       short M00_L03
M00_L06
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,23479B87740
cmp       [rcx],ecx
call      qword ptr [7FFE2813A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L27
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,2
mov       r8d,7FFFFFFF
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L29
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280B0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L30
mov       rcx,[rdi+8]
mov       r11,7FFE280B0F40
call      qword ptr [r11]
mov       rsi,rax
M00_L07
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L16
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L16
jmp       short M00_L10
M00_L08
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L19
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L11
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L09
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L10
 
cmp       rdi,r14
jne       short M00_L13
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L12
mov       [rax+8],r8d
jmp       short M00_L08
M00_L11
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L12
 
mov       [rax+8],r15d
jmp       near ptr M00_L22
M00_L13
 
mov       rcx,rsi
mov       r11,7FFE280B0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L20
jmp       near ptr M00_L22
M00_L14
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L19
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L11
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L15
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L16
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L21
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L17
mov       [rax+8],r8d
jmp       short M00_L14
M00_L17
 
mov       [rax+8],r15d
jmp       short M00_L22
M00_L18
 
mov       rcx,rsi
mov       r11,7FFE280B0F28
call      qword ptr [r11]
mov       r12,rax
jmp       short M00_L15
M00_L19
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2845EFD0]
int       3
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280B0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L09
M00_L21
 
mov       rcx,rsi
mov       r11,7FFE280B0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L18
M00_L22
 
cmp       rdi,r14
jne       near ptr M00_L31
M00_L23
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L24
 
call      qword ptr [7FFE287752D8]
mov       rsi,rax
test      rsi,rsi
jne       short M00_L25
call      qword ptr [7FFE28775020]
mov       rsi,rax
M00_L25
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,23479B78468
mov       r8,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M00_L26
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L06
M00_L27
 
call      qword ptr [7FFE287750E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L28
call      qword ptr [7FFE28775038]
mov       rbx,rax
M00_L28
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,23479B79EE0
mov       r8,rbx
call      qword ptr [7FFE282AD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M00_L29
 
mov       ecx,14
call      qword ptr [7FFE2845ED00]
int       3
M00_L30
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1F3E7C02010
mov       rsi,[rcx]
jmp       near ptr M00_L07
M00_L31
 
mov       rcx,rsi
mov       r11,7FFE280B0F30
call      qword ptr [r11]
jmp       near ptr M00_L23
M00_L32
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L33
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L33
mov       rcx,rsi
mov       r11,7FFE280B0F30
call      qword ptr [r11]
M00_L33
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L53
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L55
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L54
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L55
mov       rax,1F3E7C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L62
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,23479B70020
cmp       rdi,rcx
je        near ptr M01_L56
mov       rcx,rdi
call      qword ptr [7FFE28146070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L58
mov       rcx,1F3E7C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L62
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L59
test      rbp,rbp
je        near ptr M01_L29
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L18
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L18
M01_L09
 
mov       r14d,[rax+90]
test      r14d,r14d
je        near ptr M01_L20
M01_L10
 
add       r14d,0FFFFFFFC
cmp       r14d,5
jne       near ptr M01_L60
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r15d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L16
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28617528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L16
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       r13,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L44
mov       eax,r15d
mov       ecx,[r13+8]
cmp       rcx,rax
seta      al
movzx     eax,al
M01_L17
 
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L18
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
mov       r14,rbp
mov       rcx,r14
call      qword ptr [7FFE28146AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
jne       near ptr M01_L24
M01_L21
 
mov       rcx,23479B76498
cmp       r14,rcx
je        near ptr M01_L40
mov       rcx,23479B74198
cmp       r14,rcx
je        near ptr M01_L27
mov       rcx,23479B764C0
cmp       r14,rcx
je        near ptr M01_L39
mov       rcx,23479B74038
cmp       r14,rcx
je        near ptr M01_L36
mov       rcx,23479B74248
cmp       r14,rcx
je        near ptr M01_L26
mov       rcx,23479B73F48
cmp       r14,rcx
je        near ptr M01_L28
mov       rcx,23479B764E8
cmp       r14,rcx
je        near ptr M01_L35
mov       rcx,23479B73D90
cmp       r14,rcx
je        near ptr M01_L34
mov       rcx,23479B76448
cmp       r14,rcx
je        near ptr M01_L33
mov       rcx,23479B76470
cmp       r14,rcx
je        near ptr M01_L43
mov       rcx,23479B76510
cmp       r14,rcx
je        near ptr M01_L38
mov       rcx,23479B76538
cmp       r14,rcx
je        near ptr M01_L32
mov       rcx,23479B771E0
cmp       r14,rcx
je        near ptr M01_L42
mov       rcx,23479B73C08
cmp       r14,rcx
je        near ptr M01_L41
mov       rcx,23479B70020
cmp       r14,rcx
je        near ptr M01_L31
mov       rcx,23479B84C60
mov       r15d,1
mov       eax,2
cmp       r14,rcx
cmove     r15d,eax
M01_L22
 
mov       r14d,r15d
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L37
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L37
M01_L23
 
mov       [rax+90],r14d
jmp       near ptr M01_L10
M01_L24
 
mov       rcx,rbp
call      qword ptr [7FFE2813A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r14,rax
test      r14,r14
jne       short M01_L30
M01_L25
 
jmp       near ptr M01_L21
M01_L26
 
mov       r15d,9
jmp       short M01_L22
M01_L27
 
mov       r15d,6
jmp       short M01_L22
M01_L28
 
mov       r15d,0A
jmp       short M01_L22
M01_L29
 
xor       r14d,r14d
jmp       near ptr M01_L10
M01_L30
 
mov       rcx,offset MT_System.RuntimeType
cmp       [r14],rcx
jne       near ptr M01_L61
jmp       short M01_L25
M01_L31
 
mov       r15d,12
jmp       short M01_L22
M01_L32
 
mov       r15d,0E
jmp       near ptr M01_L22
M01_L33
 
mov       r15d,3
jmp       near ptr M01_L22
M01_L34
 
mov       r15d,0C
jmp       near ptr M01_L22
M01_L35
 
mov       r15d,0B
jmp       near ptr M01_L22
M01_L36
 
mov       r15d,8
jmp       near ptr M01_L22
M01_L37
 
mov       rcx,rbp
call      qword ptr [7FFE28146658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L23
M01_L38
 
mov       r15d,0D
jmp       near ptr M01_L22
M01_L39
 
mov       r15d,7
jmp       near ptr M01_L22
M01_L40
 
mov       r15d,5
jmp       near ptr M01_L22
M01_L41
 
mov       r15d,10
jmp       near ptr M01_L22
M01_L42
 
mov       r15d,0F
jmp       near ptr M01_L22
M01_L43
 
mov       r15d,4
jmp       near ptr M01_L22
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46238]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46220]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46220]
jmp       near ptr M01_L17
M01_L44
 
test      r13,r13
jne       short M01_L45
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L46
M01_L45
 
lea       rcx,[r13+10]
mov       r8d,[r13+8]
M01_L46
 
cmp       dword ptr [r13+8],20
jle       short M01_L47
mov       edx,r8d
mov       r8d,r15d
call      qword ptr [7FFE28E47FA8]
jmp       short M01_L48
M01_L47
 
mov       edx,r15d
call      qword ptr [7FFE28E4C498]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L48
 
not       eax
shr       eax,1F
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CB6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45B18]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E45410]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E453F8]
jmp       near ptr M01_L17
mov       rdx,rsi
mov       rcx,offset MT_System.Char
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E46250]
jmp       near ptr M01_L17
M01_L49
 
mov       rcx,23479B74010
cmp       rbp,rcx
je        short M01_L51
mov       rcx,23479B76560
cmp       rbp,rcx
je        short M01_L50
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28486718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L50
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44CF0]
jmp       short M01_L52
M01_L51
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE281F4408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E44CF0]
M01_L52
 
movzx     eax,al
jmp       near ptr M01_L17
M01_L53
 
mov       ecx,2E5
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284866E8]
int       3
M01_L54
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287BCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281FF708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L55
 
call      qword ptr [7FFE28147138]
int       3
M01_L56
 
mov       rcx,rbx
call      qword ptr [7FFE28144918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L57
mov       rdx,rsi
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L57
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CB6DA8]
not       eax
shr       eax,1F
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L58
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28486718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L59
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287BCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287BC768]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE281FF708]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L60
 
cmp       r14d,0A
ja        near ptr M01_L49
mov       edx,r14d
lea       rcx,[7FFE28D6B2B0]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L61
 
mov       rdx,rax
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L62
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,1801CF158CE6
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1F3E7C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,1801CF158CE6
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CBDC98]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE281F7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,1801CF158CE6
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2845E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitWithTrimEntries()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L23
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28D0D440]
test      eax,eax
jne       near ptr M00_L25
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L31
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L25
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28D0D440]
test      eax,eax
jne       near ptr M00_L25
M00_L05
 
mov       rcx,offset MT_System.StringSplitOptions
call      CORINFO_HELP_NEWSFAST
mov       dword ptr [rax+8],2
mov       rdx,rax
mov       rcx,3247BA07740
cmp       [rcx],ecx
call      qword ptr [7FFE2815A770]; System.RuntimeType.IsEnumDefined(System.Object)
test      eax,eax
je        near ptr M00_L26
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2E
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r9d,2
mov       r8d,7FFFFFFF
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L28
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280D0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L29
mov       rcx,[rdi+8]
mov       r11,7FFE280D0F40
call      qword ptr [r11]
mov       rsi,rax
M00_L06
 
mov       [rbp-58],rsi
test      rsi,rsi
je        near ptr M00_L15
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       near ptr M00_L15
jmp       short M00_L09
M00_L07
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L08
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L09
 
cmp       rdi,r14
jne       short M00_L12
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L11
mov       [rax+8],r8d
jmp       short M00_L07
M00_L10
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L11
 
mov       [rax+8],r15d
jmp       near ptr M00_L21
M00_L12
 
mov       rcx,rsi
mov       r11,7FFE280D0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L19
jmp       near ptr M00_L21
M00_L13
 
mov       r10,rsi
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L18
mov       r13,[r10+10]
cmp       r9d,[r13+8]
jae       short M00_L10
mov       ecx,r9d
mov       r12,[r13+rcx*8+10]
M00_L14
 
mov       [rbp-40],r12
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
M00_L15
 
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
jne       short M00_L20
mov       rax,rsi
mov       r8d,[rax+8]
inc       r8d
mov       r15d,[rax+0C]
cmp       r8d,r15d
jae       short M00_L16
mov       [rax+8],r8d
jmp       short M00_L13
M00_L16
 
mov       [rax+8],r15d
jmp       short M00_L21
M00_L17
 
mov       rcx,rsi
mov       r11,7FFE280D0F28
call      qword ptr [r11]
mov       r12,rax
jmp       short M00_L14
M00_L18
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2847EFD0]
int       3
M00_L19
 
mov       rcx,rsi
mov       r11,7FFE280D0F28
call      qword ptr [r11]
mov       r12,rax
jmp       near ptr M00_L08
M00_L20
 
mov       rcx,rsi
mov       r11,7FFE280D0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L17
M00_L21
 
cmp       rdi,r14
jne       near ptr M00_L30
M00_L22
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L23
 
call      qword ptr [7FFE287952D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L24
call      qword ptr [7FFE28795020]
mov       rbx,rax
M00_L24
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,3247B9F8468
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L25
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L26
 
call      qword ptr [7FFE287950E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L27
call      qword ptr [7FFE28795038]
mov       rbx,rax
M00_L27
 
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,3247B9F9EE0
mov       r8,rbx
call      qword ptr [7FFE282CD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M00_L28
 
mov       ecx,14
call      qword ptr [7FFE2847ED00]
int       3
M00_L29
 
mov       rcx,7FFE28155120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,2E3E9C02010
mov       rsi,[rcx]
jmp       near ptr M00_L06
M00_L30
 
mov       rcx,rsi
mov       r11,7FFE280D0F30
call      qword ptr [r11]
jmp       near ptr M00_L22
M00_L31
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L32
mov       rsi,[rbp-58]
mov       rdi,[rsi]
mov       r14,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rdi,r14
je        short M00_L32
mov       rcx,rsi
mov       r11,7FFE280D0F30
call      qword ptr [r11]
M00_L32
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.RuntimeType.IsEnumDefined(System.Object)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,rcx
mov       rsi,rdx
M01_L00
 
test      rsi,rsi
je        near ptr M01_L30
mov       rcx,[rbx+18]
mov       rax,rcx
test      cl,2
jne       short M01_L01
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L02
M01_L01
 
xor       ecx,ecx
M01_L02
 
movzx     ecx,cl
test      ecx,ecx
je        near ptr M01_L32
mov       rcx,rsi
call      System.Object.GetType()
mov       rdi,rax
mov       rcx,[rdi+18]
mov       rax,rcx
test      cl,2
jne       short M01_L03
mov       rcx,[rax+10]
mov       rax,offset MT_System.Enum
cmp       rcx,rax
sete      cl
movzx     ecx,cl
jmp       short M01_L04
M01_L03
 
xor       ecx,ecx
M01_L04
 
movzx     ecx,cl
test      ecx,ecx
je        short M01_L08
cmp       rbx,rdi
jne       near ptr M01_L31
M01_L05
 
mov       rcx,[rdi+18]
mov       rax,rcx
mov       rdx,rax
test      al,2
jne       short M01_L06
mov       rax,[rdx+10]
mov       rdx,offset MT_System.Enum
cmp       rax,rdx
sete      al
movzx     eax,al
jmp       short M01_L07
M01_L06
 
xor       eax,eax
M01_L07
 
movzx     eax,al
test      eax,eax
je        near ptr M01_L32
mov       rax,2E3E9C000A0
mov       rbp,[rax]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rcx,[rbp+rcx*8+10]
mov       rdi,rcx
M01_L08
 
mov       rcx,3247B9F0020
cmp       rdi,rcx
je        near ptr M01_L33
mov       rcx,rdi
call      qword ptr [7FFE28166070]; System.Type.IsIntegerType(System.Type)
test      eax,eax
je        near ptr M01_L35
mov       rcx,2E3E9C000A0
mov       rbp,[rcx]
mov       rcx,[rbx+18]
call      System.Enum.InternalGetCorElementType(System.Runtime.CompilerServices.MethodTable*)
cmp       eax,1A
jae       near ptr M01_L58
mov       ecx,eax
mov       rbp,[rbp+rcx*8+10]
cmp       rbp,rdi
jne       near ptr M01_L36
test      rbp,rbp
je        near ptr M01_L20
mov       rcx,[rbp+10]
test      rcx,rcx
je        near ptr M01_L16
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L16
M01_L09
 
mov       r14d,[rax+90]
test      r14d,r14d
je        near ptr M01_L37
M01_L10
 
add       r14d,0FFFFFFFC
cmp       r14d,5
jne       near ptr M01_L57
mov       rdx,offset MT_System.Int32
cmp       [rsi],rdx
je        short M01_L11
mov       rdx,rsi
mov       rcx,offset MT_System.Int32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
M01_L11
 
mov       r15d,[rsi+8]
mov       rcx,[rbx+10]
test      rcx,rcx
je        short M01_L19
mov       rcx,[rcx]
M01_L12
 
test      rcx,rcx
je        short M01_L15
mov       rax,[rcx+78]
M01_L13
 
test      rax,rax
je        short M01_L14
mov       rcx,offset MT_System.Enum+EnumInfo`1[[System.UInt32, System.Private.CoreLib]]
cmp       [rax],rcx
je        short M01_L17
M01_L14
 
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE28637528]; System.Enum.g__InitializeEnumInfo|7_0[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, Boolean)
jmp       short M01_L17
M01_L15
 
xor       eax,eax
jmp       short M01_L13
M01_L16
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
jmp       near ptr M01_L09
M01_L17
 
mov       r13,[rax+8]
cmp       byte ptr [rax+19],0
je        near ptr M01_L21
mov       eax,r15d
mov       ecx,[r13+8]
cmp       rcx,rax
seta      al
movzx     eax,al
M01_L18
 
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L19
 
xor       ecx,ecx
jmp       short M01_L12
M01_L20
 
xor       r14d,r14d
jmp       near ptr M01_L10
mov       rdx,rsi
mov       rcx,offset MT_System.SByte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E666B8]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Byte
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,byte ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E666B8]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E666A0]
jmp       short M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt16
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E666A0]
jmp       near ptr M01_L18
M01_L21
 
test      r13,r13
jne       short M01_L22
xor       ecx,ecx
xor       r8d,r8d
jmp       short M01_L23
M01_L22
 
lea       rcx,[r13+10]
mov       r8d,[r13+8]
M01_L23
 
cmp       dword ptr [r13+8],20
jle       short M01_L24
mov       edx,r8d
mov       r8d,r15d
call      qword ptr [7FFE28E6C450]
jmp       short M01_L25
M01_L24
 
mov       edx,r15d
call      qword ptr [7FFE28E6C918]; System.SpanHelpers.NonPackedIndexOfValueType[[System.Int32, System.Private.CoreLib],[System.SpanHelpers+DontNegate`1[[System.Int32, System.Private.CoreLib]], System.Private.CoreLib]](Int32 ByRef, Int32, Int32)
M01_L25
 
not       eax
shr       eax,1F
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt32
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       edx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28CD6DD8]; System.Enum.IsDefinedPrimitive[[System.UInt32, System.Private.CoreLib]](System.RuntimeType, UInt32)
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Int64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65F98]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.UInt64
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65F98]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Single
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovss    xmm1,dword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65890]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Double
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
vmovsd    xmm1,qword ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65878]
jmp       near ptr M01_L18
mov       rdx,rsi
mov       rcx,offset MT_System.Char
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
movzx     edx,word ptr [rax]
mov       rcx,rbx
call      qword ptr [7FFE28E666D0]
jmp       near ptr M01_L18
M01_L26
 
mov       rcx,3247B9F4010
cmp       rbp,rcx
je        short M01_L28
mov       rcx,3247B9F6560
cmp       rbp,rcx
je        short M01_L27
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE284A6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L27
 
mov       rdx,rsi
mov       rcx,offset MT_System.UIntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65170]
jmp       short M01_L29
M01_L28
 
mov       rdx,rsi
mov       rcx,offset MT_System.IntPtr
call      qword ptr [7FFE28214408]; System.Runtime.CompilerServices.CastHelpers.Unbox(Void*, System.Object)
mov       rdx,[rax]
mov       rcx,rbx
call      qword ptr [7FFE28E65170]
M01_L29
 
movzx     eax,al
jmp       near ptr M01_L18
M01_L30
 
mov       ecx,2E5
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L31
 
mov       rcx,rdi
mov       rdx,rbx
call      System.RuntimeTypeHandle.IsEquivalentTo(System.RuntimeType, System.RuntimeType)
test      eax,eax
jne       near ptr M01_L05
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287DCD98]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbx
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE2821F708]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L32
 
call      qword ptr [7FFE28167138]
int       3
M01_L33
 
mov       rcx,rbx
call      qword ptr [7FFE28164918]; System.Enum.GetNamesNoCopy(System.RuntimeType)
mov       r8,rsi
mov       rcx,offset MT_System.String
cmp       [r8],rcx
je        short M01_L34
mov       rdx,rsi
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L34
 
mov       rdx,rax
mov       rcx,offset MD_System.Array.IndexOf[[System.String, System.Private.CoreLib]](System.String[], System.String)
call      qword ptr [7FFE28CD6DA8]
not       eax
shr       eax,1F
add       rsp,20
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M01_L35
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F5170]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284A6718]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L36
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
call      qword ptr [7FFE287DCDF8]
mov       rcx,rax
mov       rdx,rdi
mov       r8,rbp
call      qword ptr [7FFE287DC768]
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE2821F708]
mov       rcx,r14
call      CORINFO_HELP_THROW
M01_L37
 
mov       r13,rbp
mov       rcx,r13
call      qword ptr [7FFE28166AA8]; System.RuntimeType.get_IsActualEnum()
test      eax,eax
je        short M01_L38
mov       rcx,rbp
call      qword ptr [7FFE2815A728]; System.RuntimeType.GetEnumUnderlyingType()
mov       r13,rax
test      r13,r13
je        short M01_L38
mov       rcx,offset MT_System.RuntimeType
cmp       [r13],rcx
je        short M01_L38
mov       rdx,rax
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L38
 
mov       rcx,3247B9F6498
cmp       r13,rcx
jne       short M01_L39
mov       r14d,5
jmp       near ptr M01_L54
M01_L39
 
mov       rcx,3247B9F4198
cmp       r13,rcx
jne       short M01_L40
mov       r14d,6
jmp       near ptr M01_L54
M01_L40
 
mov       rcx,3247B9F64C0
cmp       r13,rcx
jne       short M01_L41
mov       r14d,7
jmp       near ptr M01_L54
M01_L41
 
mov       rcx,3247B9F4038
cmp       r13,rcx
jne       short M01_L42
mov       r14d,8
jmp       near ptr M01_L54
M01_L42
 
mov       rcx,3247B9F4248
cmp       r13,rcx
jne       short M01_L43
mov       r14d,9
jmp       near ptr M01_L54
M01_L43
 
mov       rcx,3247B9F3F48
cmp       r13,rcx
jne       short M01_L44
mov       r14d,0A
jmp       near ptr M01_L54
M01_L44
 
mov       rcx,3247B9F64E8
cmp       r13,rcx
jne       short M01_L45
mov       r14d,0B
jmp       near ptr M01_L54
M01_L45
 
mov       rcx,3247B9F3D90
cmp       r13,rcx
jne       short M01_L46
mov       r14d,0C
jmp       near ptr M01_L54
M01_L46
 
mov       rcx,3247B9F6448
cmp       r13,rcx
jne       short M01_L47
mov       r14d,3
jmp       near ptr M01_L54
M01_L47
 
mov       rcx,3247B9F6470
cmp       r13,rcx
jne       short M01_L48
mov       r14d,4
jmp       near ptr M01_L54
M01_L48
 
mov       rcx,3247B9F6510
cmp       r13,rcx
jne       short M01_L49
mov       r14d,0D
jmp       short M01_L54
M01_L49
 
mov       rcx,3247B9F6538
cmp       r13,rcx
jne       short M01_L50
mov       r14d,0E
jmp       short M01_L54
M01_L50
 
mov       rcx,3247B9F71E0
cmp       r13,rcx
jne       short M01_L51
mov       r14d,0F
jmp       short M01_L54
M01_L51
 
mov       rcx,3247B9F3C08
cmp       r13,rcx
jne       short M01_L52
mov       r14d,10
jmp       short M01_L54
M01_L52
 
mov       rcx,3247B9F0020
cmp       r13,rcx
jne       short M01_L53
mov       r14d,12
jmp       short M01_L54
M01_L53
 
mov       rcx,3247BA04C60
mov       r14d,1
mov       eax,2
cmp       r13,rcx
cmove     r14d,eax
M01_L54
 
cmp       qword ptr [rbp+10],0
je        short M01_L55
mov       rcx,[rbp+10]
mov       rax,[rcx]
test      rax,rax
je        short M01_L55
jmp       short M01_L56
M01_L55
 
mov       rcx,rbp
call      qword ptr [7FFE28166658]; System.RuntimeType.InitializeCache()
M01_L56
 
mov       [rax+90],r14d
jmp       near ptr M01_L10
M01_L57
 
cmp       r14d,0A
ja        near ptr M01_L26
mov       edx,r14d
lea       rcx,[7FFE28D8CE80]
mov       ecx,[rcx+rdx*4]
lea       rax,[M01_L00]
add       rcx,rax
jmp       rcx
M01_L58
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0EFF31D665D13
mov       [rbp],rax
mov       rsi,rcx
mov       rbx,rdx
mov       edi,r8d
mov       r14d,r9d
test      edi,edi
jl        near ptr M02_L06
test      r14d,0FFFFFFFC
jne       near ptr M02_L07
M02_L00
 
cmp       edi,1
jle       near ptr M02_L08
mov       r15d,[rsi+8]
test      r15d,r15d
je        near ptr M02_L08
cmp       dword ptr [rbx+8],0
je        near ptr M02_L10
M02_L01
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rsi+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r15d
vmovdqu   xmm0,xmmword ptr [rbx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282171B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M02_L11
mov       r10,[rbp+58]
test      eax,eax
je        near ptr M02_L12
test      r14d,r14d
je        near ptr M02_L05
xor       ecx,ecx
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rbx,rax
M02_L02
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M02_L03
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,2E3E9C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M02_L03
 
mov       rax,rbx
mov       rcx,0EFF31D665D13
cmp       [rbp],rcx
je        short M02_L04
call      CORINFO_HELP_FAIL_FAST
M02_L04
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L05
 
xor       r14d,r14d
mov       [rbp+18],r10
mov       [rbp+20],eax
mov       [rbp+8],r14
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],edi
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rbx,rax
jmp       short M02_L02
M02_L06
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,edi
call      qword ptr [7FFE28CDDC98]
int       3
M02_L07
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M02_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,edi
call      qword ptr [7FFE28217150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
mov       rcx,0EFF31D665D13
cmp       [rbp],rcx
je        short M02_L09
call      CORINFO_HELP_FAIL_FAST
M02_L09
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L10
 
cmp       r15d,edi
jge       near ptr M02_L01
and       r14d,0FFFFFFFD
jmp       near ptr M02_L01
M02_L11
 
call      qword ptr [7FFE2847E9D0]
int       3
M02_L12
 
mov       edi,1
jmp       near ptr M02_L00
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeSHA256Hash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
call      qword ptr [7FFE286FFD20]; DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0B8
lea       rbp,[rsp+0F0]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-0B0],xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-40],rax
mov       [rbp-0C0],rsp
test      rcx,rcx
je        near ptr M01_L16
mov       rax,1A3BCC009F0
mov       rbx,[rax]
mov       [rbp-40],rcx
mov       rcx,1A3BCC0EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M01_L01
mov       rcx,rsi
call      qword ptr [7FFE28736A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L01
 
mov       rdx,[rsi+18]
test      rdx,rdx
je        near ptr M01_L17
M01_L02
 
mov       r8,rdx
test      r8,r8
je        short M01_L03
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M01_L18
M01_L03
 
lea       rdx,[rbp-40]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28BB6F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L20
cmp       dword ptr [rdi+8],20
jle       near ptr M01_L19
lea       r8,[rdi+0C]
mov       [rbp-48],r8
mov       r14,[rbp-48]
mov       r15d,[rdi+8]
lea       r8,[rbp-50]
lea       r9,[rbp-58]
mov       rcx,r14
mov       edx,r15d
call      qword ptr [7FFE284FD140]; System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar(Char*, Int32, Int64 ByRef, Int32 ByRef)
sub       rax,r14
mov       r9,rax
shr       r9,3F
add       r9,rax
sar       r9,1
movsxd    r13,r9d
add       r13,[rbp-50]
cmp       r13,7FFFFFFF
ja        near ptr M01_L22
cmp       r9d,r15d
jne       near ptr M01_L21
M01_L04
 
xor       edx,edx
mov       [rbp-48],rdx
movsxd    rdx,r13d
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       r14,rax
mov       [rsp+20],r14
xor       r9d,r9d
mov       [rsp+28],r9d
mov       r9d,[rdi+8]
mov       rcx,rbx
mov       rdx,rdi
xor       r8d,r8d
call      qword ptr [7FFE28469E58]; System.Text.UTF8Encoding.GetBytes(System.String, Int32, Int32, Byte[], Int32)
M01_L05
 
test      r14,r14
je        near ptr M01_L23
lea       rsi,[r14+10]
mov       ebx,[r14+8]
mov       rcx,offset MT_System.Byte[]
mov       edx,20
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
lea       rdx,[rdi+10]
mov       r8d,20
cmp       r8d,20
jl        near ptr M01_L24
xor       ecx,ecx
mov       [rbp-80],rsi
mov       [rbp-78],ebx
mov       [rbp-90],rcx
xor       ecx,ecx
mov       [rbp-88],ecx
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rdx,[rbp-60]
mov       [rsp+28],rdx
lea       rdx,[rbp-0A0]
mov       [rsp+20],rdx
lea       rdx,[rbp-80]
lea       r8,[rbp-90]
mov       rcx,1E44A919358
xor       r9d,r9d
call      qword ptr [7FFE28CD7390]; System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider.HashDataUsingPseudoHandle(System.String, System.ReadOnlySpan`1, System.ReadOnlySpan`1, Boolean, System.Span`1, Int32 ByRef)
add       rdi,10
mov       ebx,20
mov       rcx,1A3BCC0EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L25
mov       rcx,[rcx+18]
M01_L06
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L28
mov       rcx,[rsi+20]
mov       [rbp-68],rcx
cmp       qword ptr [rbp-68],0
je        near ptr M01_L26
lea       rcx,[rsi+20]
mov       r8,[rbp-68]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-68]
jne       near ptr M01_L26
M01_L07
 
mov       r12,[rbp-68]
M01_L08
 
xor       ecx,ecx
mov       [rbp-68],rcx
M01_L09
 
cmp       [r12],r12b
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE2851C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-0A8],r12
xor       r14d,r14d
test      ebx,ebx
jle       near ptr M01_L15
M01_L10
 
mov       ecx,r14d
movzx     ecx,byte ptr [rdi+rcx]
mov       r8,1A3BCC00428
mov       r8,[r8]
mov       rdx,1E44A927720
call      qword ptr [7FFE28454810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        short M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        short M01_L14
mov       rcx,[r12+8]
mov       eax,[r12+18]
lea       r15d,[rax+r8]
cmp       r15d,[rcx+8]
ja        short M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        short M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       short M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       short M01_L12
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [r12+18],r15d
jmp       short M01_L14
M01_L13
 
mov       rcx,r12
call      qword ptr [7FFE2851CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r14d
cmp       r14d,ebx
jl        near ptr M01_L10
M01_L15
 
mov       rcx,r12
call      qword ptr [7FFE28527A60]; System.Text.StringBuilder.ToString()
mov       [rbp-0B0],rax
mov       rcx,rsp
call      M01_L29
nop
mov       rax,[rbp-0B0]
add       rsp,0B8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
call      qword ptr [7FFE28795230]
mov       ecx,76B
mov       rdx,7FFE28713548
call      CORINFO_HELP_STRCNS
mov       r13,rax
mov       ecx,1464
mov       rdx,7FFE285A5108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE28216B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       ecx,1
mov       rdx,7FFE28713548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28216B08]; System.String.Concat(System.String, System.String)
mov       r12,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE28795020]
mov       r8,rax
mov       rdx,r12
mov       rcx,rdi
call      qword ptr [7FFE284A6670]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L17
 
mov       rcx,rsi
mov       byte ptr [rbp-70],1
mov       byte ptr [rbp-6F],1
xor       r9d,r9d
mov       [rsp+20],r9d
mov       [rsp+28],r9d
movzx     r9d,word ptr [rbp-70]
mov       rdx,1E44A912D10
mov       r8d,1
call      qword ptr [7FFE287362C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rdi,rax
lea       rcx,[rsi+18]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,rdi
jmp       near ptr M01_L02
M01_L18
 
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L19
 
mov       rcx,rbx
mov       rdx,rdi
call      qword ptr [7FFE284F50C8]; System.Text.UTF8Encoding+UTF8EncodingSealed.GetBytesForSmallInput(System.String)
mov       r14,rax
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,1763
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L21
 
mov       rcx,rbx
mov       rdx,r14
mov       r8d,r15d
call      qword ptr [7FFE2821C8A0]
add       r13d,eax
jns       near ptr M01_L04
M01_L22
 
call      qword ptr [7FFE2821C7E0]
int       3
M01_L23
 
mov       ecx,6A61
mov       rdx,7FFE28741768
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L24
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28E7E658]
mov       rsi,rax
mov       ecx,4465
mov       rdx,7FFE28741768
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbx
call      qword ptr [7FFE2821F750]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE2868EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L06
M01_L26
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-68]
cmp       [rcx],ecx
call      qword ptr [7FFE289FD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L27
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L07
M01_L27
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       r12,rax
jmp       near ptr M01_L08
M01_L28
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       r12,rax
jmp       near ptr M01_L09
M01_L29
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,38
mov       rbp,[rcx+30]
mov       [rsp+30],rbp
lea       rbp,[rbp+0F0]
mov       rcx,1A3BCC0EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L30
call      qword ptr [7FFE2868EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rbx,rax
jmp       short M01_L31
M01_L30
 
mov       rbx,[rcx+18]
M01_L31
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rbx],rcx
jne       near ptr M01_L36
mov       rdi,[rbx+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L32
mov       r12,[rbp-0A8]
mov       rcx,[r12+8]
mov       ecx,[rcx+8]
add       ecx,[r12+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L37
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE2851C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L33
M01_L32
 
mov       rdx,[rbp-0A8]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r12,[rbp-0A8]
je        short M01_L37
M01_L33
 
cmp       qword ptr [rbx+20],0
jne       short M01_L34
lea       rcx,[rbx+20]
mov       rdx,r12
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L37
M01_L34
 
lea       rcx,[rbx+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rbx+28]
jg        short M01_L35
mov       rcx,[rbx+18]
mov       rdx,r12
cmp       [rcx],ecx
call      qword ptr [7FFE289FD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L37
M01_L35
 
add       rbx,2C
lock dec  dword ptr [rbx]
jmp       short M01_L37
M01_L36
 
mov       r12,[rbp-0A8]
mov       rcx,rbx
mov       rdx,r12
mov       rax,[rbx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L37
 
nop
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeSHA256Hash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
call      qword ptr [7FFE286DFD20]; DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0B8
lea       rbp,[rsp+0F0]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-0B0],xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-40],rax
mov       [rbp-0C0],rsp
test      rcx,rcx
je        near ptr M01_L16
mov       rax,25AD30009F0
mov       rbx,[rax]
mov       [rbp-40],rcx
mov       rcx,25AD300EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M01_L01
mov       rcx,rsi
call      qword ptr [7FFE28716A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L01
 
mov       rdx,[rsi+18]
test      rdx,rdx
je        near ptr M01_L17
M01_L02
 
mov       r8,rdx
test      r8,r8
je        short M01_L03
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M01_L18
M01_L03
 
lea       rdx,[rbp-40]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28B96F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L20
cmp       dword ptr [rdi+8],20
jle       near ptr M01_L19
lea       r8,[rdi+0C]
mov       [rbp-48],r8
mov       r14,[rbp-48]
mov       r15d,[rdi+8]
lea       r8,[rbp-50]
lea       r9,[rbp-58]
mov       rcx,r14
mov       edx,r15d
call      qword ptr [7FFE284DD140]; System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar(Char*, Int32, Int64 ByRef, Int32 ByRef)
sub       rax,r14
mov       r9,rax
shr       r9,3F
add       r9,rax
sar       r9,1
movsxd    r13,r9d
add       r13,[rbp-50]
cmp       r13,7FFFFFFF
ja        near ptr M01_L22
cmp       r9d,r15d
jne       near ptr M01_L21
M01_L04
 
xor       edx,edx
mov       [rbp-48],rdx
movsxd    rdx,r13d
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       r14,rax
mov       [rsp+20],r14
xor       r9d,r9d
mov       [rsp+28],r9d
mov       r9d,[rdi+8]
mov       rcx,rbx
mov       rdx,rdi
xor       r8d,r8d
call      qword ptr [7FFE28449E58]; System.Text.UTF8Encoding.GetBytes(System.String, Int32, Int32, Byte[], Int32)
M01_L05
 
test      r14,r14
je        near ptr M01_L23
lea       rsi,[r14+10]
mov       ebx,[r14+8]
mov       rcx,offset MT_System.Byte[]
mov       edx,20
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
lea       rdx,[rdi+10]
mov       r8d,20
cmp       r8d,20
jl        near ptr M01_L24
xor       ecx,ecx
mov       [rbp-80],rsi
mov       [rbp-78],ebx
mov       [rbp-90],rcx
xor       ecx,ecx
mov       [rbp-88],ecx
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rdx,[rbp-60]
mov       [rsp+28],rdx
lea       rdx,[rbp-0A0]
mov       [rsp+20],rdx
lea       rdx,[rbp-80]
lea       r8,[rbp-90]
mov       rcx,29B650E9358
xor       r9d,r9d
call      qword ptr [7FFE28CB7390]; System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider.HashDataUsingPseudoHandle(System.String, System.ReadOnlySpan`1, System.ReadOnlySpan`1, Boolean, System.Span`1, Int32 ByRef)
add       rdi,10
mov       ebx,20
mov       rcx,25AD300EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L25
mov       rcx,[rcx+18]
M01_L06
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L28
mov       rcx,[rsi+20]
mov       [rbp-68],rcx
cmp       qword ptr [rbp-68],0
je        near ptr M01_L26
lea       rcx,[rsi+20]
mov       r8,[rbp-68]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-68]
jne       near ptr M01_L26
M01_L07
 
mov       r12,[rbp-68]
M01_L08
 
xor       ecx,ecx
mov       [rbp-68],rcx
M01_L09
 
cmp       [r12],r12b
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE284FC1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-0A8],r12
xor       r14d,r14d
test      ebx,ebx
jle       near ptr M01_L15
M01_L10
 
mov       ecx,r14d
movzx     ecx,byte ptr [rdi+rcx]
mov       r8,25AD3000428
mov       r8,[r8]
mov       rdx,29B650F7720
call      qword ptr [7FFE28434810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        short M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        short M01_L14
mov       rcx,[r12+8]
mov       eax,[r12+18]
lea       r15d,[rax+r8]
cmp       r15d,[rcx+8]
ja        short M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        short M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       short M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       short M01_L12
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [r12+18],r15d
jmp       short M01_L14
M01_L13
 
mov       rcx,r12
call      qword ptr [7FFE284FCA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r14d
cmp       r14d,ebx
jl        near ptr M01_L10
M01_L15
 
mov       rcx,r12
call      qword ptr [7FFE28507A60]; System.Text.StringBuilder.ToString()
mov       [rbp-0B0],rax
mov       rcx,rsp
call      M01_L29
nop
mov       rax,[rbp-0B0]
add       rsp,0B8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
call      qword ptr [7FFE28775230]
mov       ecx,76B
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       r13,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       r12,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,r12
mov       rcx,rdi
call      qword ptr [7FFE28486670]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L17
 
mov       rcx,rsi
mov       byte ptr [rbp-70],1
mov       byte ptr [rbp-6F],1
xor       r9d,r9d
mov       [rsp+20],r9d
mov       [rsp+28],r9d
movzx     r9d,word ptr [rbp-70]
mov       rdx,29B650E2D10
mov       r8d,1
call      qword ptr [7FFE287162C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rdi,rax
lea       rcx,[rsi+18]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,rdi
jmp       near ptr M01_L02
M01_L18
 
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L19
 
mov       rcx,rbx
mov       rdx,rdi
call      qword ptr [7FFE284D50C8]; System.Text.UTF8Encoding+UTF8EncodingSealed.GetBytesForSmallInput(System.String)
mov       r14,rax
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,1763
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284866E8]
int       3
M01_L21
 
mov       rcx,rbx
mov       rdx,r14
mov       r8d,r15d
call      qword ptr [7FFE281FC8A0]
add       r13d,eax
jns       near ptr M01_L04
M01_L22
 
call      qword ptr [7FFE281FC7E0]
int       3
M01_L23
 
mov       ecx,6A61
mov       rdx,7FFE28721768
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284866E8]
int       3
M01_L24
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28E3EC88]
mov       rsi,rax
mov       ecx,4465
mov       rdx,7FFE28721768
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbx
call      qword ptr [7FFE281FF750]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE2866EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L06
M01_L26
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-68]
cmp       [rcx],ecx
call      qword ptr [7FFE289DD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L27
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L07
M01_L27
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       r12,rax
jmp       near ptr M01_L08
M01_L28
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       r12,rax
jmp       near ptr M01_L09
M01_L29
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,38
mov       rbp,[rcx+30]
mov       [rsp+30],rbp
lea       rbp,[rbp+0F0]
mov       rcx,25AD300EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L30
call      qword ptr [7FFE2866EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rbx,rax
jmp       short M01_L31
M01_L30
 
mov       rbx,[rcx+18]
M01_L31
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rbx],rcx
jne       near ptr M01_L36
mov       rdi,[rbx+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L32
mov       r12,[rbp-0A8]
mov       rcx,[r12+8]
mov       ecx,[rcx+8]
add       ecx,[r12+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L37
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE284FC1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L33
M01_L32
 
mov       rdx,[rbp-0A8]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r12,[rbp-0A8]
je        short M01_L37
M01_L33
 
cmp       qword ptr [rbx+20],0
jne       short M01_L34
lea       rcx,[rbx+20]
mov       rdx,r12
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L37
M01_L34
 
lea       rcx,[rbx+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rbx+28]
jg        short M01_L35
mov       rcx,[rbx+18]
mov       rdx,r12
cmp       [rcx],ecx
call      qword ptr [7FFE289DD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L37
M01_L35
 
add       rbx,2C
lock dec  dword ptr [rbx]
jmp       short M01_L37
M01_L36
 
mov       r12,[rbp-0A8]
mov       rcx,rbx
mov       rdx,r12
mov       rax,[rbx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L37
 
nop
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeSHA256Hash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
call      qword ptr [7FFE286FFD20]; DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0B8
lea       rbp,[rsp+0F0]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-0B0],xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-40],rax
mov       [rbp-0C0],rsp
test      rcx,rcx
je        near ptr M01_L16
mov       rax,1D5060009F0
mov       rbx,[rax]
mov       [rbp-40],rcx
mov       rcx,1D50200CC18
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M01_L01
mov       rcx,rsi
call      qword ptr [7FFE28736A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L01
 
mov       rdx,[rsi+18]
test      rdx,rdx
je        near ptr M01_L17
M01_L02
 
mov       r8,rdx
test      r8,r8
je        short M01_L03
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M01_L18
M01_L03
 
lea       rdx,[rbp-40]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28BB6F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L20
cmp       dword ptr [rdi+8],20
jle       near ptr M01_L19
lea       r8,[rdi+0C]
mov       [rbp-48],r8
mov       r14,[rbp-48]
mov       r15d,[rdi+8]
lea       r8,[rbp-50]
lea       r9,[rbp-58]
mov       rcx,r14
mov       edx,r15d
call      qword ptr [7FFE284FD140]; System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar(Char*, Int32, Int64 ByRef, Int32 ByRef)
sub       rax,r14
mov       r9,rax
shr       r9,3F
add       r9,rax
sar       r9,1
movsxd    r13,r9d
add       r13,[rbp-50]
cmp       r13,7FFFFFFF
ja        near ptr M01_L22
cmp       r9d,r15d
jne       near ptr M01_L21
M01_L04
 
xor       edx,edx
mov       [rbp-48],rdx
movsxd    rdx,r13d
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       r14,rax
mov       [rsp+20],r14
xor       r9d,r9d
mov       [rsp+28],r9d
mov       r9d,[rdi+8]
mov       rcx,rbx
mov       rdx,rdi
xor       r8d,r8d
call      qword ptr [7FFE28469E58]; System.Text.UTF8Encoding.GetBytes(System.String, Int32, Int32, Byte[], Int32)
M01_L05
 
test      r14,r14
je        near ptr M01_L23
lea       rsi,[r14+10]
mov       ebx,[r14+8]
mov       rcx,offset MT_System.Byte[]
mov       edx,20
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
lea       rdx,[rdi+10]
mov       r8d,20
cmp       r8d,20
jl        near ptr M01_L24
xor       ecx,ecx
mov       [rbp-80],rsi
mov       [rbp-78],ebx
mov       [rbp-90],rcx
xor       ecx,ecx
mov       [rbp-88],ecx
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rdx,[rbp-60]
mov       [rsp+28],rdx
lea       rdx,[rbp-0A0]
mov       [rsp+20],rdx
lea       rdx,[rbp-80]
lea       r8,[rbp-90]
mov       rcx,21593FC9358
xor       r9d,r9d
call      qword ptr [7FFE28CD7390]; System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider.HashDataUsingPseudoHandle(System.String, System.ReadOnlySpan`1, System.ReadOnlySpan`1, Boolean, System.Span`1, Int32 ByRef)
add       rdi,10
mov       ebx,20
mov       rcx,1D50200CC20
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L25
mov       rcx,[rcx+18]
M01_L06
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L28
mov       rcx,[rsi+20]
mov       [rbp-68],rcx
cmp       qword ptr [rbp-68],0
je        near ptr M01_L26
lea       rcx,[rsi+20]
mov       r8,[rbp-68]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-68]
jne       near ptr M01_L26
M01_L07
 
mov       r12,[rbp-68]
M01_L08
 
xor       ecx,ecx
mov       [rbp-68],rcx
M01_L09
 
cmp       [r12],r12b
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE2851C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-0A8],r12
xor       r14d,r14d
test      ebx,ebx
jle       near ptr M01_L15
M01_L10
 
mov       ecx,r14d
movzx     ecx,byte ptr [rdi+rcx]
mov       r8,1D506000428
mov       r8,[r8]
mov       rdx,21593FD7720
call      qword ptr [7FFE28454810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        short M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        short M01_L14
mov       rcx,[r12+8]
mov       eax,[r12+18]
lea       r15d,[rax+r8]
cmp       r15d,[rcx+8]
ja        short M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        short M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       short M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       short M01_L12
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [r12+18],r15d
jmp       short M01_L14
M01_L13
 
mov       rcx,r12
call      qword ptr [7FFE2851CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r14d
cmp       r14d,ebx
jl        near ptr M01_L10
M01_L15
 
mov       rcx,r12
call      qword ptr [7FFE28527A60]; System.Text.StringBuilder.ToString()
mov       [rbp-0B0],rax
mov       rcx,rsp
call      M01_L29
nop
mov       rax,[rbp-0B0]
add       rsp,0B8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
call      qword ptr [7FFE28795230]
mov       ecx,76B
mov       rdx,7FFE28713548
call      CORINFO_HELP_STRCNS
mov       r13,rax
mov       ecx,1464
mov       rdx,7FFE285A5108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE28216B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       ecx,1
mov       rdx,7FFE28713548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28216B08]; System.String.Concat(System.String, System.String)
mov       r12,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE28795020]
mov       r8,rax
mov       rdx,r12
mov       rcx,rdi
call      qword ptr [7FFE284A6670]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L17
 
mov       rcx,rsi
mov       byte ptr [rbp-70],1
mov       byte ptr [rbp-6F],1
xor       r9d,r9d
mov       [rsp+20],r9d
mov       [rsp+28],r9d
movzx     r9d,word ptr [rbp-70]
mov       rdx,21593FC2D10
mov       r8d,1
call      qword ptr [7FFE287362C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rdi,rax
lea       rcx,[rsi+18]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,rdi
jmp       near ptr M01_L02
M01_L18
 
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L19
 
mov       rcx,rbx
mov       rdx,rdi
call      qword ptr [7FFE284F50C8]; System.Text.UTF8Encoding+UTF8EncodingSealed.GetBytesForSmallInput(System.String)
mov       r14,rax
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,1763
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L21
 
mov       rcx,rbx
mov       rdx,r14
mov       r8d,r15d
call      qword ptr [7FFE2821C8A0]
add       r13d,eax
jns       near ptr M01_L04
M01_L22
 
call      qword ptr [7FFE2821C7E0]
int       3
M01_L23
 
mov       ecx,6A61
mov       rdx,7FFE28741768
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284A66E8]
int       3
M01_L24
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28E5EA18]
mov       rsi,rax
mov       ecx,4465
mov       rdx,7FFE28741768
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbx
call      qword ptr [7FFE2821F750]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE2868EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L06
M01_L26
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-68]
cmp       [rcx],ecx
call      qword ptr [7FFE289FD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L27
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L07
M01_L27
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       r12,rax
jmp       near ptr M01_L08
M01_L28
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       r12,rax
jmp       near ptr M01_L09
M01_L29
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,38
mov       rbp,[rcx+30]
mov       [rsp+30],rbp
lea       rbp,[rbp+0F0]
mov       rcx,1D50200CC20
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L30
call      qword ptr [7FFE2868EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rbx,rax
jmp       short M01_L31
M01_L30
 
mov       rbx,[rcx+18]
M01_L31
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rbx],rcx
jne       near ptr M01_L36
mov       rdi,[rbx+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L32
mov       r12,[rbp-0A8]
mov       rcx,[r12+8]
mov       ecx,[rcx+8]
add       ecx,[r12+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L37
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE2851C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L33
M01_L32
 
mov       rdx,[rbp-0A8]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r12,[rbp-0A8]
je        short M01_L37
M01_L33
 
cmp       qword ptr [rbx+20],0
jne       short M01_L34
lea       rcx,[rbx+20]
mov       rdx,r12
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L37
M01_L34
 
lea       rcx,[rbx+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rbx+28]
jg        short M01_L35
mov       rcx,[rbx+18]
mov       rdx,r12
cmp       [rcx],ecx
call      qword ptr [7FFE289FD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L37
M01_L35
 
add       rbx,2C
lock dec  dword ptr [rbx]
jmp       short M01_L37
M01_L36
 
mov       r12,[rbp-0A8]
mov       rcx,rbx
mov       rdx,r12
mov       rax,[rbx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L37
 
nop
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeSHA256Hash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
call      qword ptr [7FFE286EFD20]; DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0B8
lea       rbp,[rsp+0F0]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-0B0],xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-40],rax
mov       [rbp-0C0],rsp
test      rcx,rcx
je        near ptr M01_L16
mov       rax,1D5074009F0
mov       rbx,[rax]
mov       [rbp-40],rcx
mov       rcx,1D50740EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M01_L01
mov       rcx,rsi
call      qword ptr [7FFE28726A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L01
 
mov       rdx,[rsi+18]
test      rdx,rdx
je        near ptr M01_L17
M01_L02
 
mov       r8,rdx
test      r8,r8
je        short M01_L03
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M01_L18
M01_L03
 
lea       rdx,[rbp-40]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28BA6F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L20
cmp       dword ptr [rdi+8],20
jle       near ptr M01_L19
lea       r8,[rdi+0C]
mov       [rbp-48],r8
mov       r14,[rbp-48]
mov       r15d,[rdi+8]
lea       r8,[rbp-50]
lea       r9,[rbp-58]
mov       rcx,r14
mov       edx,r15d
call      qword ptr [7FFE284ED140]; System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar(Char*, Int32, Int64 ByRef, Int32 ByRef)
sub       rax,r14
mov       r9,rax
shr       r9,3F
add       r9,rax
sar       r9,1
movsxd    r13,r9d
add       r13,[rbp-50]
cmp       r13,7FFFFFFF
ja        near ptr M01_L22
cmp       r9d,r15d
jne       near ptr M01_L21
M01_L04
 
xor       edx,edx
mov       [rbp-48],rdx
movsxd    rdx,r13d
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       r14,rax
mov       [rsp+20],r14
xor       r9d,r9d
mov       [rsp+28],r9d
mov       r9d,[rdi+8]
mov       rcx,rbx
mov       rdx,rdi
xor       r8d,r8d
call      qword ptr [7FFE28459E58]; System.Text.UTF8Encoding.GetBytes(System.String, Int32, Int32, Byte[], Int32)
M01_L05
 
test      r14,r14
je        near ptr M01_L23
lea       rsi,[r14+10]
mov       ebx,[r14+8]
mov       rcx,offset MT_System.Byte[]
mov       edx,20
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
lea       rdx,[rdi+10]
mov       r8d,20
cmp       r8d,20
jl        near ptr M01_L24
xor       ecx,ecx
mov       [rbp-80],rsi
mov       [rbp-78],ebx
mov       [rbp-90],rcx
xor       ecx,ecx
mov       [rbp-88],ecx
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rdx,[rbp-60]
mov       [rsp+28],rdx
lea       rdx,[rbp-0A0]
mov       [rsp+20],rdx
lea       rdx,[rbp-80]
lea       r8,[rbp-90]
mov       rcx,215990D9358
xor       r9d,r9d
call      qword ptr [7FFE28CC7390]; System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider.HashDataUsingPseudoHandle(System.String, System.ReadOnlySpan`1, System.ReadOnlySpan`1, Boolean, System.Span`1, Int32 ByRef)
add       rdi,10
mov       ebx,20
mov       rcx,1D50740EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L25
mov       rcx,[rcx+18]
M01_L06
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L28
mov       rcx,[rsi+20]
mov       [rbp-68],rcx
cmp       qword ptr [rbp-68],0
je        near ptr M01_L26
lea       rcx,[rsi+20]
mov       r8,[rbp-68]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-68]
jne       near ptr M01_L26
M01_L07
 
mov       r12,[rbp-68]
M01_L08
 
xor       ecx,ecx
mov       [rbp-68],rcx
M01_L09
 
cmp       [r12],r12b
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-0A8],r12
xor       r14d,r14d
test      ebx,ebx
jle       near ptr M01_L15
M01_L10
 
mov       ecx,r14d
movzx     ecx,byte ptr [rdi+rcx]
mov       r8,1D507400428
mov       r8,[r8]
mov       rdx,215990E7720
call      qword ptr [7FFE28444810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        short M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        short M01_L14
mov       rcx,[r12+8]
mov       eax,[r12+18]
lea       r15d,[rax+r8]
cmp       r15d,[rcx+8]
ja        short M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        short M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       short M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       short M01_L12
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [r12+18],r15d
jmp       short M01_L14
M01_L13
 
mov       rcx,r12
call      qword ptr [7FFE2850CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r14d
cmp       r14d,ebx
jl        near ptr M01_L10
M01_L15
 
mov       rcx,r12
call      qword ptr [7FFE28517A60]; System.Text.StringBuilder.ToString()
mov       [rbp-0B0],rax
mov       rcx,rsp
call      M01_L29
nop
mov       rax,[rbp-0B0]
add       rsp,0B8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
call      qword ptr [7FFE28785230]
mov       ecx,76B
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       r13,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r12,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,r12
mov       rcx,rdi
call      qword ptr [7FFE28496670]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L17
 
mov       rcx,rsi
mov       byte ptr [rbp-70],1
mov       byte ptr [rbp-6F],1
xor       r9d,r9d
mov       [rsp+20],r9d
mov       [rsp+28],r9d
movzx     r9d,word ptr [rbp-70]
mov       rdx,215990D2D10
mov       r8d,1
call      qword ptr [7FFE287262C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rdi,rax
lea       rcx,[rsi+18]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,rdi
jmp       near ptr M01_L02
M01_L18
 
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L19
 
mov       rcx,rbx
mov       rdx,rdi
call      qword ptr [7FFE284E50C8]; System.Text.UTF8Encoding+UTF8EncodingSealed.GetBytesForSmallInput(System.String)
mov       r14,rax
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,1763
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L21
 
mov       rcx,rbx
mov       rdx,r14
mov       r8d,r15d
call      qword ptr [7FFE2820C8A0]
add       r13d,eax
jns       near ptr M01_L04
M01_L22
 
call      qword ptr [7FFE2820C7E0]
int       3
M01_L23
 
mov       ecx,6A61
mov       rdx,7FFE28731768
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L24
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28E5EA18]
mov       rsi,rax
mov       ecx,4465
mov       rdx,7FFE28731768
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbx
call      qword ptr [7FFE2820F750]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L06
M01_L26
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-68]
cmp       [rcx],ecx
call      qword ptr [7FFE289ED4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L27
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L07
M01_L27
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       r12,rax
jmp       near ptr M01_L08
M01_L28
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       r12,rax
jmp       near ptr M01_L09
M01_L29
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,38
mov       rbp,[rcx+30]
mov       [rsp+30],rbp
lea       rbp,[rbp+0F0]
mov       rcx,1D50740EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L30
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rbx,rax
jmp       short M01_L31
M01_L30
 
mov       rbx,[rcx+18]
M01_L31
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rbx],rcx
jne       near ptr M01_L36
mov       rdi,[rbx+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L32
mov       r12,[rbp-0A8]
mov       rcx,[r12+8]
mov       ecx,[rcx+8]
add       ecx,[r12+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L37
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L33
M01_L32
 
mov       rdx,[rbp-0A8]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r12,[rbp-0A8]
je        short M01_L37
M01_L33
 
cmp       qword ptr [rbx+20],0
jne       short M01_L34
lea       rcx,[rbx+20]
mov       rdx,r12
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L37
M01_L34
 
lea       rcx,[rbx+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rbx+28]
jg        short M01_L35
mov       rcx,[rbx+18]
mov       rdx,r12
cmp       [rcx],ecx
call      qword ptr [7FFE289ED470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L37
M01_L35
 
add       rbx,2C
lock dec  dword ptr [rbx]
jmp       short M01_L37
M01_L36
 
mov       r12,[rbp-0A8]
mov       rcx,rbx
mov       rdx,r12
mov       rax,[rbx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L37
 
nop
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeSHA256Hash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
call      qword ptr [7FFE286EFD20]; DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0B8
lea       rbp,[rsp+0F0]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-0B0],xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-40],rax
mov       [rbp-0C0],rsp
test      rcx,rcx
je        near ptr M01_L16
mov       rax,223FA8009F0
mov       rbx,[rax]
mov       [rbp-40],rcx
mov       rcx,223FA80EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M01_L01
mov       rcx,rsi
call      qword ptr [7FFE28726A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L01
 
mov       rdx,[rsi+18]
test      rdx,rdx
je        near ptr M01_L17
M01_L02
 
mov       r8,rdx
test      r8,r8
je        short M01_L03
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M01_L18
M01_L03
 
lea       rdx,[rbp-40]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28BA6F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L20
cmp       dword ptr [rdi+8],20
jle       near ptr M01_L19
lea       r8,[rdi+0C]
mov       [rbp-48],r8
mov       r14,[rbp-48]
mov       r15d,[rdi+8]
lea       r8,[rbp-50]
lea       r9,[rbp-58]
mov       rcx,r14
mov       edx,r15d
call      qword ptr [7FFE284ED140]; System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar(Char*, Int32, Int64 ByRef, Int32 ByRef)
sub       rax,r14
mov       r9,rax
shr       r9,3F
add       r9,rax
sar       r9,1
movsxd    r13,r9d
add       r13,[rbp-50]
cmp       r13,7FFFFFFF
ja        near ptr M01_L22
cmp       r9d,r15d
jne       near ptr M01_L21
M01_L04
 
xor       edx,edx
mov       [rbp-48],rdx
movsxd    rdx,r13d
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       r14,rax
mov       [rsp+20],r14
xor       r9d,r9d
mov       [rsp+28],r9d
mov       r9d,[rdi+8]
mov       rcx,rbx
mov       rdx,rdi
xor       r8d,r8d
call      qword ptr [7FFE28459E58]; System.Text.UTF8Encoding.GetBytes(System.String, Int32, Int32, Byte[], Int32)
M01_L05
 
test      r14,r14
je        near ptr M01_L23
lea       rsi,[r14+10]
mov       ebx,[r14+8]
mov       rcx,offset MT_System.Byte[]
mov       edx,20
call      CORINFO_HELP_NEWARR_1_VC
mov       r12,rax
lea       rdx,[r12+10]
mov       r8d,20
cmp       r8d,20
jl        near ptr M01_L24
xor       ecx,ecx
mov       [rbp-80],rsi
mov       [rbp-78],ebx
mov       [rbp-90],rcx
xor       ecx,ecx
mov       [rbp-88],ecx
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rdx,[rbp-60]
mov       [rsp+28],rdx
lea       rdx,[rbp-0A0]
mov       [rsp+20],rdx
lea       rdx,[rbp-80]
lea       r8,[rbp-90]
mov       rcx,26488659358
xor       r9d,r9d
call      qword ptr [7FFE28CCC8A0]; System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider.HashDataUsingPseudoHandle(System.String, System.ReadOnlySpan`1, System.ReadOnlySpan`1, Boolean, System.Span`1, Int32 ByRef)
add       r12,10
mov       ebx,20
mov       rcx,223FA80EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L25
mov       rcx,[rcx+18]
M01_L06
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L28
mov       rcx,[rsi+20]
mov       [rbp-68],rcx
cmp       qword ptr [rbp-68],0
je        near ptr M01_L26
lea       rcx,[rsi+20]
mov       r8,[rbp-68]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-68]
jne       near ptr M01_L26
M01_L07
 
mov       rdi,[rbp-68]
M01_L08
 
xor       ecx,ecx
mov       [rbp-68],rcx
M01_L09
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-0A8],rdi
xor       r14d,r14d
test      ebx,ebx
jle       near ptr M01_L15
M01_L10
 
mov       ecx,r14d
movzx     ecx,byte ptr [r12+rcx]
mov       r8,223FA800428
mov       r8,[r8]
mov       rdx,26488667740
call      qword ptr [7FFE28444810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        short M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        short M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       esi,[rax+r8]
cmp       esi,[rcx+8]
ja        short M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        short M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       short M01_L12
movzx     eax,word ptr [rdx+2]
mov       [rcx+2],ax
jmp       short M01_L12
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],esi
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE2850CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r14d
cmp       r14d,ebx
jl        near ptr M01_L10
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE28517A60]; System.Text.StringBuilder.ToString()
mov       [rbp-0B0],rax
mov       rcx,rsp
call      M01_L29
nop
mov       rax,[rbp-0B0]
add       rsp,0B8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
call      qword ptr [7FFE28785230]
mov       ecx,76B
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       r15,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r13,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M01_L17
 
mov       rcx,rsi
mov       byte ptr [rbp-70],1
mov       byte ptr [rbp-6F],1
xor       r9d,r9d
mov       [rsp+20],r9d
mov       [rsp+28],r9d
movzx     r9d,word ptr [rbp-70]
mov       rdx,26488652D10
mov       r8d,1
call      qword ptr [7FFE287262C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       r14,rax
lea       rcx,[rsi+18]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,r14
jmp       near ptr M01_L02
M01_L18
 
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L19
 
mov       rcx,rbx
mov       rdx,rdi
call      qword ptr [7FFE284E50C8]; System.Text.UTF8Encoding+UTF8EncodingSealed.GetBytesForSmallInput(System.String)
mov       r14,rax
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,1763
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L21
 
mov       rcx,rbx
mov       rdx,r14
mov       r8d,r15d
call      qword ptr [7FFE2820C8A0]
add       r13d,eax
jns       near ptr M01_L04
M01_L22
 
call      qword ptr [7FFE2820C7E0]
int       3
M01_L23
 
mov       ecx,6A61
mov       rdx,7FFE28731768
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L24
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
call      qword ptr [7FFE28E5F570]
mov       rbx,rax
mov       ecx,4465
mov       rdx,7FFE28731768
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,r12
call      qword ptr [7FFE2820F750]
mov       rcx,r12
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L06
M01_L26
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-68]
cmp       [rcx],ecx
call      qword ptr [7FFE289ED4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L27
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L07
M01_L27
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L08
M01_L28
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L09
M01_L29
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,38
mov       rbp,[rcx+30]
mov       [rsp+30],rbp
lea       rbp,[rbp+0F0]
mov       rcx,223FA80EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L30
call      qword ptr [7FFE2867EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rdi,rax
jmp       short M01_L31
M01_L30
 
mov       rdi,[rcx+18]
M01_L31
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rdi],rcx
jne       near ptr M01_L36
mov       rax,[rdi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rax+18],rcx
jne       short M01_L32
mov       rbx,[rbp-0A8]
mov       rcx,[rbx+8]
mov       ecx,[rcx+8]
add       ecx,[rbx+1C]
mov       rdx,[rax+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L37
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L33
M01_L32
 
mov       rdx,[rbp-0A8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
test      eax,eax
mov       rbx,[rbp-0A8]
je        short M01_L37
M01_L33
 
cmp       qword ptr [rdi+20],0
jne       short M01_L34
lea       rcx,[rdi+20]
mov       rdx,rbx
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L37
M01_L34
 
lea       rcx,[rdi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rdi+28]
jg        short M01_L35
mov       rcx,[rdi+18]
mov       rdx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE289ED470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L37
M01_L35
 
add       rdi,2C
lock dec  dword ptr [rdi]
jmp       short M01_L37
M01_L36
 
mov       rbx,[rbp-0A8]
mov       rcx,rdi
mov       rdx,rbx
mov       rax,[rdi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L37
 
nop
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeSHA256Hash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
call      qword ptr [7FFE286EEF40]; DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0B8
lea       rbp,[rsp+0F0]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-0B0],xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-40],rax
mov       [rbp-0C0],rsp
test      rcx,rcx
je        near ptr M01_L16
mov       rax,1E1698009F0
mov       rbx,[rax]
mov       [rbp-40],rcx
mov       rcx,1E16980EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M01_L01
mov       rcx,rsi
call      qword ptr [7FFE28725D58]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L01
 
mov       rdx,[rsi+18]
test      rdx,rdx
je        near ptr M01_L17
M01_L02
 
mov       r8,rdx
test      r8,r8
je        short M01_L03
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M01_L18
M01_L03
 
lea       rdx,[rbp-40]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28BA6F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L20
cmp       dword ptr [rdi+8],20
jle       near ptr M01_L19
lea       r8,[rdi+0C]
mov       [rbp-48],r8
mov       r14,[rbp-48]
mov       r15d,[rdi+8]
lea       r8,[rbp-50]
lea       r9,[rbp-58]
mov       rcx,r14
mov       edx,r15d
call      qword ptr [7FFE284ED140]; System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar(Char*, Int32, Int64 ByRef, Int32 ByRef)
sub       rax,r14
mov       r9,rax
shr       r9,3F
add       r9,rax
sar       r9,1
movsxd    r13,r9d
add       r13,[rbp-50]
cmp       r13,7FFFFFFF
ja        near ptr M01_L22
cmp       r9d,r15d
jne       near ptr M01_L21
M01_L04
 
xor       edx,edx
mov       [rbp-48],rdx
movsxd    rdx,r13d
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       r14,rax
mov       [rsp+20],r14
xor       r9d,r9d
mov       [rsp+28],r9d
mov       r9d,[rdi+8]
mov       rcx,rbx
mov       rdx,rdi
xor       r8d,r8d
call      qword ptr [7FFE28459E58]; System.Text.UTF8Encoding.GetBytes(System.String, Int32, Int32, Byte[], Int32)
M01_L05
 
test      r14,r14
je        near ptr M01_L23
lea       rsi,[r14+10]
mov       ebx,[r14+8]
mov       rcx,offset MT_System.Byte[]
mov       edx,20
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
lea       rdx,[rdi+10]
mov       r8d,20
cmp       r8d,20
jl        near ptr M01_L24
xor       ecx,ecx
mov       [rbp-80],rsi
mov       [rbp-78],ebx
mov       [rbp-90],rcx
xor       ecx,ecx
mov       [rbp-88],ecx
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rdx,[rbp-60]
mov       [rsp+28],rdx
lea       rdx,[rbp-0A0]
mov       [rsp+20],rdx
lea       rdx,[rbp-80]
lea       r8,[rbp-90]
mov       rcx,221FB4B9358
xor       r9d,r9d
call      qword ptr [7FFE28CCC8A0]; System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider.HashDataUsingPseudoHandle(System.String, System.ReadOnlySpan`1, System.ReadOnlySpan`1, Boolean, System.Span`1, Int32 ByRef)
add       rdi,10
mov       ebx,20
mov       rcx,1E16980EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L25
mov       rcx,[rcx+18]
M01_L06
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L28
mov       rcx,[rsi+20]
mov       [rbp-68],rcx
cmp       qword ptr [rbp-68],0
je        near ptr M01_L26
lea       rcx,[rsi+20]
mov       r8,[rbp-68]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-68]
jne       near ptr M01_L26
M01_L07
 
mov       r12,[rbp-68]
M01_L08
 
xor       ecx,ecx
mov       [rbp-68],rcx
M01_L09
 
cmp       [r12],r12b
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-0A8],r12
xor       r14d,r14d
test      ebx,ebx
jle       near ptr M01_L15
M01_L10
 
mov       ecx,r14d
movzx     ecx,byte ptr [rdi+rcx]
mov       r8,1E169800428
mov       r8,[r8]
mov       rdx,221FB4C7740
call      qword ptr [7FFE28444810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        short M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        short M01_L14
mov       rcx,[r12+8]
mov       eax,[r12+18]
lea       r15d,[rax+r8]
cmp       r15d,[rcx+8]
ja        short M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        short M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       short M01_L12
movzx     r8d,word ptr [rdx+2]
mov       [rcx+2],r8w
jmp       short M01_L12
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [r12+18],r15d
jmp       short M01_L14
M01_L13
 
mov       rcx,r12
call      qword ptr [7FFE2850CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r14d
cmp       r14d,ebx
jl        near ptr M01_L10
M01_L15
 
mov       rcx,r12
call      qword ptr [7FFE28517A60]; System.Text.StringBuilder.ToString()
mov       [rbp-0B0],rax
mov       rcx,rsp
call      M01_L29
nop
mov       rax,[rbp-0B0]
add       rsp,0B8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
call      qword ptr [7FFE28794438]
mov       ecx,76B
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       r13,rax
mov       ecx,1464
mov       rdx,7FFE28595190
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rsi
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r12,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE28794228]
mov       r8,rax
mov       rdx,r12
mov       rcx,rdi
call      qword ptr [7FFE28496670]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L17
 
mov       rcx,rsi
mov       byte ptr [rbp-70],1
mov       byte ptr [rbp-6F],1
xor       r9d,r9d
mov       [rsp+20],r9d
mov       [rsp+28],r9d
movzx     r9d,word ptr [rbp-70]
mov       rdx,221FB4B2D10
mov       r8d,1
call      qword ptr [7FFE28725608]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rdi,rax
lea       rcx,[rsi+18]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,rdi
jmp       near ptr M01_L02
M01_L18
 
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L19
 
mov       rcx,rbx
mov       rdx,rdi
call      qword ptr [7FFE284E50C8]; System.Text.UTF8Encoding+UTF8EncodingSealed.GetBytesForSmallInput(System.String)
mov       r14,rax
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,1763
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L21
 
mov       rcx,rbx
mov       rdx,r14
mov       r8d,r15d
call      qword ptr [7FFE2820C8A0]
add       r13d,eax
jns       near ptr M01_L04
M01_L22
 
call      qword ptr [7FFE2820C7E0]
int       3
M01_L23
 
mov       ecx,6A61
mov       rdx,7FFE28731768
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284966E8]
int       3
M01_L24
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28E5F570]
mov       rsi,rax
mov       ecx,4465
mov       rdx,7FFE28731768
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbx
call      qword ptr [7FFE2820F750]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE2868DE78]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L06
M01_L26
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-68]
cmp       [rcx],ecx
call      qword ptr [7FFE289ED4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L27
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L07
M01_L27
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       r12,rax
jmp       near ptr M01_L08
M01_L28
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       r12,rax
jmp       near ptr M01_L09
M01_L29
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,38
mov       rbp,[rcx+30]
mov       [rsp+30],rbp
lea       rbp,[rbp+0F0]
mov       rcx,1E16980EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L30
call      qword ptr [7FFE2868DE78]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rbx,rax
jmp       short M01_L31
M01_L30
 
mov       rbx,[rcx+18]
M01_L31
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rbx],rcx
jne       near ptr M01_L36
mov       rdi,[rbx+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rdi+18],rcx
jne       short M01_L32
mov       r12,[rbp-0A8]
mov       rcx,[r12+8]
mov       ecx,[rcx+8]
add       ecx,[r12+1C]
mov       rdx,[rdi+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L37
mov       rcx,r12
xor       edx,edx
call      qword ptr [7FFE2850C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L33
M01_L32
 
mov       rdx,[rbp-0A8]
mov       rcx,[rdi+8]
call      qword ptr [rdi+18]
test      eax,eax
mov       r12,[rbp-0A8]
je        short M01_L37
M01_L33
 
cmp       qword ptr [rbx+20],0
jne       short M01_L34
lea       rcx,[rbx+20]
mov       rdx,r12
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L37
M01_L34
 
lea       rcx,[rbx+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rbx+28]
jg        short M01_L35
mov       rcx,[rbx+18]
mov       rdx,r12
cmp       [rcx],ecx
call      qword ptr [7FFE289ED470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L37
M01_L35
 
add       rbx,2C
lock dec  dword ptr [rbx]
jmp       short M01_L37
M01_L36
 
mov       r12,[rbp-0A8]
mov       rcx,rbx
mov       rdx,r12
mov       rax,[rbx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L37
 
nop
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeSHA256Hash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
call      qword ptr [7FFE286CFD20]; DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0B8
lea       rbp,[rsp+0F0]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-0B0],xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-40],rax
mov       [rbp-0C0],rsp
test      rcx,rcx
je        near ptr M01_L16
mov       rax,22AD90009F0
mov       rbx,[rax]
mov       [rbp-40],rcx
mov       rcx,22AD900EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M01_L01
mov       rcx,rsi
call      qword ptr [7FFE28706A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L01
 
mov       rdx,[rsi+18]
test      rdx,rdx
je        near ptr M01_L17
M01_L02
 
mov       r8,rdx
test      r8,r8
je        short M01_L03
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M01_L18
M01_L03
 
lea       rdx,[rbp-40]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28B86F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L20
cmp       dword ptr [rdi+8],20
jle       near ptr M01_L19
lea       r8,[rdi+0C]
mov       [rbp-48],r8
mov       r14,[rbp-48]
mov       r15d,[rdi+8]
lea       r8,[rbp-50]
lea       r9,[rbp-58]
mov       rcx,r14
mov       edx,r15d
call      qword ptr [7FFE284CD140]; System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar(Char*, Int32, Int64 ByRef, Int32 ByRef)
sub       rax,r14
mov       r9,rax
shr       r9,3F
add       r9,rax
sar       r9,1
movsxd    r13,r9d
add       r13,[rbp-50]
cmp       r13,7FFFFFFF
ja        near ptr M01_L22
cmp       r9d,r15d
jne       near ptr M01_L21
M01_L04
 
xor       edx,edx
mov       [rbp-48],rdx
movsxd    rdx,r13d
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       r14,rax
mov       [rsp+20],r14
xor       r9d,r9d
mov       [rsp+28],r9d
mov       r9d,[rdi+8]
mov       rcx,rbx
mov       rdx,rdi
xor       r8d,r8d
call      qword ptr [7FFE28439E58]; System.Text.UTF8Encoding.GetBytes(System.String, Int32, Int32, Byte[], Int32)
M01_L05
 
test      r14,r14
je        near ptr M01_L23
lea       rsi,[r14+10]
mov       ebx,[r14+8]
mov       rcx,offset MT_System.Byte[]
mov       edx,20
call      CORINFO_HELP_NEWARR_1_VC
mov       r12,rax
lea       rdx,[r12+10]
mov       r8d,20
cmp       r8d,20
jl        near ptr M01_L24
xor       ecx,ecx
mov       [rbp-80],rsi
mov       [rbp-78],ebx
mov       [rbp-90],rcx
xor       ecx,ecx
mov       [rbp-88],ecx
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rdx,[rbp-60]
mov       [rsp+28],rdx
lea       rdx,[rbp-0A0]
mov       [rsp+20],rdx
lea       rdx,[rbp-80]
lea       r8,[rbp-90]
mov       rcx,26B6AF09358
xor       r9d,r9d
call      qword ptr [7FFE28CAC8A0]; System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider.HashDataUsingPseudoHandle(System.String, System.ReadOnlySpan`1, System.ReadOnlySpan`1, Boolean, System.Span`1, Int32 ByRef)
add       r12,10
mov       ebx,20
mov       rcx,22AD900EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L25
mov       rcx,[rcx+18]
M01_L06
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L28
mov       rcx,[rsi+20]
mov       [rbp-68],rcx
cmp       qword ptr [rbp-68],0
je        near ptr M01_L26
lea       rcx,[rsi+20]
mov       r8,[rbp-68]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-68]
jne       near ptr M01_L26
M01_L07
 
mov       rdi,[rbp-68]
M01_L08
 
xor       ecx,ecx
mov       [rbp-68],rcx
M01_L09
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE284EC1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-0A8],rdi
xor       r14d,r14d
test      ebx,ebx
jle       near ptr M01_L15
M01_L10
 
mov       ecx,r14d
movzx     ecx,byte ptr [r12+rcx]
mov       r8,22AD9000428
mov       r8,[r8]
mov       rdx,26B6AF17740
call      qword ptr [7FFE28424810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        short M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        short M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       esi,[rax+r8]
cmp       esi,[rcx+8]
ja        short M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        short M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       short M01_L12
movzx     eax,word ptr [rdx+2]
mov       [rcx+2],ax
jmp       short M01_L12
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],esi
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE284ECA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r14d
cmp       r14d,ebx
jl        near ptr M01_L10
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE284F7A60]; System.Text.StringBuilder.ToString()
mov       [rbp-0B0],rax
mov       rcx,rsp
call      M01_L29
nop
mov       rax,[rbp-0B0]
add       rsp,0B8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
call      qword ptr [7FFE28765230]
mov       ecx,76B
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       r15,rax
mov       ecx,1464
mov       rdx,7FFE28575108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       r13,rax
mov       ecx,1
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28765020]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbx
call      qword ptr [7FFE28476670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M01_L17
 
mov       rcx,rsi
mov       byte ptr [rbp-70],1
mov       byte ptr [rbp-6F],1
xor       r9d,r9d
mov       [rsp+20],r9d
mov       [rsp+28],r9d
movzx     r9d,word ptr [rbp-70]
mov       rdx,26B6AF02D10
mov       r8d,1
call      qword ptr [7FFE287062C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       r14,rax
lea       rcx,[rsi+18]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,r14
jmp       near ptr M01_L02
M01_L18
 
call      qword ptr [7FFE281E43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L19
 
mov       rcx,rbx
mov       rdx,rdi
call      qword ptr [7FFE284C50C8]; System.Text.UTF8Encoding+UTF8EncodingSealed.GetBytesForSmallInput(System.String)
mov       r14,rax
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,1763
mov       rdx,7FFE28094000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284766E8]
int       3
M01_L21
 
mov       rcx,rbx
mov       rdx,r14
mov       r8d,r15d
call      qword ptr [7FFE281EC8A0]
add       r13d,eax
jns       near ptr M01_L04
M01_L22
 
call      qword ptr [7FFE281EC7E0]
int       3
M01_L23
 
mov       ecx,6A61
mov       rdx,7FFE28711768
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284766E8]
int       3
M01_L24
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
call      qword ptr [7FFE28E3F570]
mov       rbx,rax
mov       ecx,4465
mov       rdx,7FFE28711768
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,r12
call      qword ptr [7FFE281EF750]
mov       rcx,r12
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE2865EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L06
M01_L26
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-68]
cmp       [rcx],ecx
call      qword ptr [7FFE289CD4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L27
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L07
M01_L27
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L08
M01_L28
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L09
M01_L29
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,38
mov       rbp,[rcx+30]
mov       [rsp+30],rbp
lea       rbp,[rbp+0F0]
mov       rcx,22AD900EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L30
call      qword ptr [7FFE2865EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rdi,rax
jmp       short M01_L31
M01_L30
 
mov       rdi,[rcx+18]
M01_L31
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rdi],rcx
jne       near ptr M01_L36
mov       rax,[rdi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rax+18],rcx
jne       short M01_L32
mov       rbx,[rbp-0A8]
mov       rcx,[rbx+8]
mov       ecx,[rcx+8]
add       ecx,[rbx+1C]
mov       rdx,[rax+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L37
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE284EC1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L33
M01_L32
 
mov       rdx,[rbp-0A8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
test      eax,eax
mov       rbx,[rbp-0A8]
je        short M01_L37
M01_L33
 
cmp       qword ptr [rdi+20],0
jne       short M01_L34
lea       rcx,[rdi+20]
mov       rdx,rbx
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L37
M01_L34
 
lea       rcx,[rdi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rdi+28]
jg        short M01_L35
mov       rcx,[rdi+18]
mov       rdx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE289CD470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L37
M01_L35
 
add       rdi,2C
lock dec  dword ptr [rdi]
jmp       short M01_L37
M01_L36
 
mov       rbx,[rbp-0A8]
mov       rcx,rdi
mov       rdx,rbx
mov       rax,[rdi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L37
 
nop
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ComputeSHA256Hash()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
call      qword ptr [7FFE2870FD20]; DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.ObjectExtensions.ComputeSha256Hash(System.Object)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0B8
lea       rbp,[rsp+0F0]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-0B0],xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-40],rax
mov       [rbp-0C0],rsp
test      rcx,rcx
je        near ptr M01_L16
mov       rax,150FEC009F0
mov       rbx,[rax]
mov       [rbp-40],rcx
mov       rcx,150FEC0EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M01_L01
mov       rcx,rsi
call      qword ptr [7FFE28746A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L01
 
mov       rdx,[rsi+18]
test      rdx,rdx
je        near ptr M01_L17
M01_L02
 
mov       r8,rdx
test      r8,r8
je        short M01_L03
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M01_L18
M01_L03
 
lea       rdx,[rbp-40]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28BC6F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L20
cmp       dword ptr [rdi+8],20
jle       near ptr M01_L19
lea       r8,[rdi+0C]
mov       [rbp-48],r8
mov       r14,[rbp-48]
mov       r15d,[rdi+8]
lea       r8,[rbp-50]
lea       r9,[rbp-58]
mov       rcx,r14
mov       edx,r15d
call      qword ptr [7FFE2850D140]; System.Text.Unicode.Utf16Utility.GetPointerToFirstInvalidChar(Char*, Int32, Int64 ByRef, Int32 ByRef)
sub       rax,r14
mov       r9,rax
shr       r9,3F
add       r9,rax
sar       r9,1
movsxd    r13,r9d
add       r13,[rbp-50]
cmp       r13,7FFFFFFF
ja        near ptr M01_L22
cmp       r9d,r15d
jne       near ptr M01_L21
M01_L04
 
xor       edx,edx
mov       [rbp-48],rdx
movsxd    rdx,r13d
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       r14,rax
mov       [rsp+20],r14
xor       r9d,r9d
mov       [rsp+28],r9d
mov       r9d,[rdi+8]
mov       rcx,rbx
mov       rdx,rdi
xor       r8d,r8d
call      qword ptr [7FFE28479E58]; System.Text.UTF8Encoding.GetBytes(System.String, Int32, Int32, Byte[], Int32)
M01_L05
 
test      r14,r14
je        near ptr M01_L23
lea       rsi,[r14+10]
mov       ebx,[r14+8]
mov       rcx,offset MT_System.Byte[]
mov       edx,20
call      CORINFO_HELP_NEWARR_1_VC
mov       r12,rax
lea       rdx,[r12+10]
mov       r8d,20
cmp       r8d,20
jl        near ptr M01_L24
xor       ecx,ecx
mov       [rbp-80],rsi
mov       [rbp-78],ebx
mov       [rbp-90],rcx
xor       ecx,ecx
mov       [rbp-88],ecx
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rdx,[rbp-60]
mov       [rsp+28],rdx
lea       rdx,[rbp-0A0]
mov       [rsp+20],rdx
lea       rdx,[rbp-80]
lea       r8,[rbp-90]
mov       rcx,19190959358
xor       r9d,r9d
call      qword ptr [7FFE28CEC690]; System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider.HashDataUsingPseudoHandle(System.String, System.ReadOnlySpan`1, System.ReadOnlySpan`1, Boolean, System.Span`1, Int32 ByRef)
add       r12,10
mov       ebx,20
mov       rcx,150FEC0EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
jne       near ptr M01_L25
mov       rcx,[rcx+18]
M01_L06
 
mov       rsi,rcx
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rsi],rcx
jne       near ptr M01_L28
mov       rcx,[rsi+20]
mov       [rbp-68],rcx
cmp       qword ptr [rbp-68],0
je        near ptr M01_L26
lea       rcx,[rsi+20]
mov       r8,[rbp-68]
xor       edx,edx
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
cmp       rax,[rbp-68]
jne       near ptr M01_L26
M01_L07
 
mov       rdi,[rbp-68]
M01_L08
 
xor       ecx,ecx
mov       [rbp-68],rcx
M01_L09
 
cmp       [rdi],dil
mov       rcx,rdi
xor       edx,edx
call      qword ptr [7FFE2852C1F8]; System.Text.StringBuilder.set_Length(Int32)
mov       [rbp-0A8],rdi
xor       r14d,r14d
test      ebx,ebx
jle       near ptr M01_L15
M01_L10
 
mov       ecx,r14d
movzx     ecx,byte ptr [r12+rcx]
mov       r8,150FEC00428
mov       r8,[r8]
mov       rdx,19190967740
call      qword ptr [7FFE28464810]; System.Number.g__FormatUInt32Slow|43_0(UInt32, System.String, System.IFormatProvider)
test      rax,rax
je        short M01_L14
lea       rdx,[rax+0C]
mov       r8d,[rax+8]
test      r8d,r8d
je        short M01_L14
mov       rcx,[rdi+8]
mov       eax,[rdi+18]
lea       esi,[rax+r8]
cmp       esi,[rcx+8]
ja        short M01_L13
cdqe
lea       rcx,[rcx+rax*2+10]
cmp       r8d,2
jg        short M01_L11
movzx     eax,word ptr [rdx]
mov       [rcx],ax
cmp       r8d,2
jne       short M01_L12
movzx     eax,word ptr [rdx+2]
mov       [rcx+2],ax
jmp       short M01_L12
M01_L11
 
movsxd    r8,r8d
add       r8,r8
call      qword ptr [7FFE282D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
M01_L12
 
mov       [rdi+18],esi
jmp       short M01_L14
M01_L13
 
mov       rcx,rdi
call      qword ptr [7FFE2852CA98]; System.Text.StringBuilder.AppendWithExpansion(Char ByRef, Int32)
M01_L14
 
inc       r14d
cmp       r14d,ebx
jl        near ptr M01_L10
M01_L15
 
mov       rcx,rdi
call      qword ptr [7FFE28537A60]; System.Text.StringBuilder.ToString()
mov       [rbp-0B0],rax
mov       rcx,rsp
call      M01_L29
nop
mov       rax,[rbp-0B0]
add       rsp,0B8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
call      qword ptr [7FFE287A5230]
mov       ecx,76B
mov       rdx,7FFE28723548
call      CORINFO_HELP_STRCNS
mov       r15,rax
mov       ecx,1464
mov       rdx,7FFE285B5108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE28226B08]; System.String.Concat(System.String, System.String)
mov       r13,rax
mov       ecx,1
mov       rdx,7FFE28723548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE28226B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE287A5020]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbx
call      qword ptr [7FFE284B6670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M01_L17
 
mov       rcx,rsi
mov       byte ptr [rbp-70],1
mov       byte ptr [rbp-6F],1
xor       r9d,r9d
mov       [rsp+20],r9d
mov       [rsp+28],r9d
movzx     r9d,word ptr [rbp-70]
mov       rdx,19190952D10
mov       r8d,1
call      qword ptr [7FFE287462C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       r14,rax
lea       rcx,[rsi+18]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,r14
jmp       near ptr M01_L02
M01_L18
 
call      qword ptr [7FFE282243F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M01_L19
 
mov       rcx,rbx
mov       rdx,rdi
call      qword ptr [7FFE285050C8]; System.Text.UTF8Encoding+UTF8EncodingSealed.GetBytesForSmallInput(System.String)
mov       r14,rax
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,1763
mov       rdx,7FFE280D4000
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284B66E8]
int       3
M01_L21
 
mov       rcx,rbx
mov       rdx,r14
mov       r8d,r15d
call      qword ptr [7FFE2822C8A0]
add       r13d,eax
jns       near ptr M01_L04
M01_L22
 
call      qword ptr [7FFE2822C7E0]
int       3
M01_L23
 
mov       ecx,6A61
mov       rdx,7FFE28751768
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE284B66E8]
int       3
M01_L24
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
call      qword ptr [7FFE28E7F570]
mov       rbx,rax
mov       ecx,4465
mov       rdx,7FFE28751768
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,r12
call      qword ptr [7FFE2822F750]
mov       rcx,r12
call      CORINFO_HELP_THROW
M01_L25
 
call      qword ptr [7FFE2869EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rcx,rax
jmp       near ptr M01_L06
M01_L26
 
mov       rcx,[rsi+18]
lea       rdx,[rbp-68]
cmp       [rcx],ecx
call      qword ptr [7FFE28A0D4A0]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].TryDequeue(System.__Canon ByRef)
test      eax,eax
je        short M01_L27
add       rsi,2C
lock dec  dword ptr [rsi]
jmp       near ptr M01_L07
M01_L27
 
mov       rax,[rsi+8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
mov       rdi,rax
jmp       near ptr M01_L08
M01_L28
 
mov       rcx,rsi
mov       rax,[rsi]
mov       rax,[rax+40]
call      qword ptr [rax+20]
mov       rdi,rax
jmp       near ptr M01_L09
M01_L29
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,38
mov       rbp,[rcx+30]
mov       [rsp+30],rbp
lea       rbp,[rbp+0F0]
mov       rcx,150FEC0EC18
mov       rcx,[rcx]
cmp       qword ptr [rcx+8],0
je        short M01_L30
call      qword ptr [7FFE2869EE68]; System.Lazy`1[[System.__Canon, System.Private.CoreLib]].CreateValue()
mov       rdi,rax
jmp       short M01_L31
M01_L30
 
mov       rdi,[rcx+18]
M01_L31
 
mov       rcx,offset MT_Microsoft.Extensions.ObjectPool.DefaultObjectPool`1[[System.Text.StringBuilder, System.Private.CoreLib]]
cmp       [rdi],rcx
jne       near ptr M01_L36
mov       rax,[rdi+10]
mov       rcx,offset Microsoft.Extensions.ObjectPool.StringBuilderPooledObjectPolicy.Return(System.Text.StringBuilder)
cmp       [rax+18],rcx
jne       short M01_L32
mov       rbx,[rbp-0A8]
mov       rcx,[rbx+8]
mov       ecx,[rcx+8]
add       ecx,[rbx+1C]
mov       rdx,[rax+8]
cmp       ecx,[rdx+0C]
jg        near ptr M01_L37
mov       rcx,rbx
xor       edx,edx
call      qword ptr [7FFE2852C1F8]; System.Text.StringBuilder.set_Length(Int32)
jmp       short M01_L33
M01_L32
 
mov       rdx,[rbp-0A8]
mov       rcx,[rax+8]
call      qword ptr [rax+18]
test      eax,eax
mov       rbx,[rbp-0A8]
je        short M01_L37
M01_L33
 
cmp       qword ptr [rdi+20],0
jne       short M01_L34
lea       rcx,[rdi+20]
mov       rdx,rbx
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
je        short M01_L37
M01_L34
 
lea       rcx,[rdi+2C]
mov       edx,1
lock xadd [rcx],edx
inc       edx
cmp       edx,[rdi+28]
jg        short M01_L35
mov       rcx,[rdi+18]
mov       rdx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE28A0D470]; System.Collections.Concurrent.ConcurrentQueue`1[[System.__Canon, System.Private.CoreLib]].Enqueue(System.__Canon)
jmp       short M01_L37
M01_L35
 
add       rdi,2C
lock dec  dword ptr [rdi]
jmp       short M01_L37
M01_L36
 
mov       rbx,[rbp-0A8]
mov       rcx,rdi
mov       rdx,rbx
mov       rax,[rdi]
mov       rax,[rax+40]
call      qword ptr [rax+28]
M01_L37
 
nop
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ContainsAny()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,[rbx+288]
mov       rcx,offset MT_System.Char[]
mov       edx,2
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       word ptr [rdi+10],61
mov       word ptr [rdi+12],7A
mov       rcx,offset MT_DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
lea       rcx,[rbp+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
test      rsi,rsi
je        short M00_L01
mov       rcx,[rbp+8]
mov       ecx,[rcx+8]
mov       rcx,offset MT_System.Func`2[[System.Char, System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       [rdi+18],rcx
mov       rcx,rsi
mov       rdx,rdi
call      qword ptr [7FFE28CB5AA0]; DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       rcx,[rcx+8]
movzx     edx,dx
jmp       qword ptr [7FFE28CB5B90]; System.Linq.Enumerable.Contains[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, Char)
 
DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
lea       rbp,[rsp+60]
mov       [rbp-40],rsp
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L20
test      rbx,rbx
je        near ptr M02_L21
mov       rcx,offset MT_System.String
cmp       [rsi],rcx
jne       near ptr M02_L22
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,rdi
M02_L00
 
mov       [rbp-38],rcx
test      rcx,rcx
je        near ptr M02_L08
mov       rdi,[rcx]
mov       rdx,offset MT_System.CharEnumerator
mov       r14,rdx
cmp       rdi,r14
jne       near ptr M02_L08
mov       rdx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],rdx
jne       near ptr M02_L08
jmp       short M02_L03
M02_L01
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        near ptr M02_L15
mov       rcx,r11
mov       r11,7FFE280B1068
call      qword ptr [r11]
M02_L02
 
test      eax,eax
je        near ptr M02_L18
M02_L03
 
mov       rcx,[rbp-38]
cmp       rdi,r14
jne       short M02_L05
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L04
mov       [rax+10],r8d
jmp       short M02_L01
M02_L04
 
mov       [rax+10],esi
jmp       near ptr M02_L17
M02_L05
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
test      eax,eax
je        near ptr M02_L17
mov       rcx,[rbp-38]
mov       r11,7FFE280B1058
call      qword ptr [r11]
mov       edx,eax
jmp       near ptr M02_L16
M02_L06
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],r11
jne       short M02_L11
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        short M02_L12
mov       rcx,r11
mov       r11,7FFE280B1068
call      qword ptr [r11]
M02_L07
 
test      eax,eax
je        near ptr M02_L18
M02_L08
 
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L10
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L09
mov       [rax+10],r8d
jmp       near ptr M02_L06
M02_L09
 
mov       [rax+10],esi
jmp       short M02_L17
M02_L10
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
test      eax,eax
jne       short M02_L13
jmp       short M02_L17
M02_L11
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       short M02_L07
M02_L12
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E0FF78]
jmp       short M02_L07
M02_L13
 
mov       rcx,[rbp-38]
mov       r11,7FFE280B1058
call      qword ptr [r11]
mov       edx,eax
jmp       short M02_L11
M02_L14
 
mov       ecx,[r10+10]
call      qword ptr [7FFE2845EFD0]
int       3
M02_L15
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E0FF78]
jmp       near ptr M02_L02
M02_L16
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       near ptr M02_L02
M02_L17
 
mov       rcx,[rbp-38]
mov       rcx,rsp
call      M02_L25
jmp       near ptr M02_L24
M02_L18
 
cmp       rdi,r14
jne       near ptr M02_L23
xor       eax,eax
mov       rcx,[rbp-38]
mov       [rcx+8],rax
M02_L19
 
xor       eax,eax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L20
 
call      qword ptr [7FFE28775230]
mov       ecx,49
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rdi,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,r14
mov       rcx,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M02_L21
 
call      qword ptr [7FFE28775230]
mov       ecx,23D
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L22
 
mov       rcx,rsi
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       rcx,rax
jmp       near ptr M02_L00
M02_L23
 
mov       rcx,[rbp-38]
mov       r11,7FFE280B1060
call      qword ptr [r11]
jmp       near ptr M02_L19
M02_L24
 
mov       eax,1
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L25
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-38],0
je        short M02_L27
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L26
xor       r11d,r11d
mov       [rcx+8],r11
jmp       short M02_L27
M02_L26
 
mov       r11,7FFE280B1060
call      qword ptr [r11]
M02_L27
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ContainsAny()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,[rbx+288]
mov       rcx,offset MT_System.Char[]
mov       edx,2
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       word ptr [rdi+10],61
mov       word ptr [rdi+12],7A
mov       rcx,offset MT_DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
lea       rcx,[rbp+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
test      rsi,rsi
je        short M00_L01
mov       rcx,[rbp+8]
mov       ecx,[rcx+8]
mov       rcx,offset MT_System.Func`2[[System.Char, System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       [rdi+18],rcx
mov       rcx,rsi
mov       rdx,rdi
call      qword ptr [7FFE28CC5AA0]; DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       rcx,[rcx+8]
movzx     edx,dx
jmp       qword ptr [7FFE28CC5B90]; System.Linq.Enumerable.Contains[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, Char)
 
DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
lea       rbp,[rsp+60]
mov       [rbp-40],rsp
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L20
test      rbx,rbx
je        near ptr M02_L21
mov       rcx,offset MT_System.String
cmp       [rsi],rcx
jne       near ptr M02_L22
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,rdi
M02_L00
 
mov       [rbp-38],rcx
test      rcx,rcx
je        near ptr M02_L08
mov       rdi,[rcx]
mov       rdx,offset MT_System.CharEnumerator
mov       r14,rdx
cmp       rdi,r14
jne       near ptr M02_L08
mov       rdx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],rdx
jne       near ptr M02_L08
jmp       short M02_L03
M02_L01
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        near ptr M02_L15
mov       rcx,r11
mov       r11,7FFE280C1068
call      qword ptr [r11]
M02_L02
 
test      eax,eax
je        near ptr M02_L18
M02_L03
 
mov       rcx,[rbp-38]
cmp       rdi,r14
jne       short M02_L05
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L04
mov       [rax+10],r8d
jmp       short M02_L01
M02_L04
 
mov       [rax+10],esi
jmp       near ptr M02_L17
M02_L05
 
mov       r11,7FFE280C1050
call      qword ptr [r11]
test      eax,eax
je        near ptr M02_L17
mov       rcx,[rbp-38]
mov       r11,7FFE280C1058
call      qword ptr [r11]
mov       edx,eax
jmp       near ptr M02_L16
M02_L06
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],r11
jne       short M02_L11
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        short M02_L12
mov       rcx,r11
mov       r11,7FFE280C1068
call      qword ptr [r11]
M02_L07
 
test      eax,eax
je        near ptr M02_L18
M02_L08
 
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L10
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L09
mov       [rax+10],r8d
jmp       near ptr M02_L06
M02_L09
 
mov       [rax+10],esi
jmp       short M02_L17
M02_L10
 
mov       r11,7FFE280C1050
call      qword ptr [r11]
test      eax,eax
jne       short M02_L13
jmp       short M02_L17
M02_L11
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       short M02_L07
M02_L12
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E1FDE0]
jmp       short M02_L07
M02_L13
 
mov       rcx,[rbp-38]
mov       r11,7FFE280C1058
call      qword ptr [r11]
mov       edx,eax
jmp       short M02_L11
M02_L14
 
mov       ecx,[r10+10]
call      qword ptr [7FFE2846EFD0]
int       3
M02_L15
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E1FDE0]
jmp       near ptr M02_L02
M02_L16
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       near ptr M02_L02
M02_L17
 
mov       rcx,[rbp-38]
mov       rcx,rsp
call      M02_L25
jmp       near ptr M02_L24
M02_L18
 
cmp       rdi,r14
jne       near ptr M02_L23
xor       eax,eax
mov       rcx,[rbp-38]
mov       [rcx+8],rax
M02_L19
 
xor       eax,eax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L20
 
call      qword ptr [7FFE28785230]
mov       ecx,49
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rdi,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,r14
mov       rcx,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M02_L21
 
call      qword ptr [7FFE28785230]
mov       ecx,23D
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L22
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       rcx,rax
jmp       near ptr M02_L00
M02_L23
 
mov       rcx,[rbp-38]
mov       r11,7FFE280C1060
call      qword ptr [r11]
jmp       near ptr M02_L19
M02_L24
 
mov       eax,1
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L25
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-38],0
je        short M02_L27
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L26
xor       r11d,r11d
mov       [rcx+8],r11
jmp       short M02_L27
M02_L26
 
mov       r11,7FFE280C1060
call      qword ptr [r11]
M02_L27
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ContainsAny()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,[rbx+288]
mov       rcx,offset MT_System.Char[]
mov       edx,2
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       word ptr [rdi+10],61
mov       word ptr [rdi+12],7A
mov       rcx,offset MT_DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
lea       rcx,[rbp+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
test      rsi,rsi
je        short M00_L01
mov       rcx,[rbp+8]
mov       ecx,[rcx+8]
mov       rcx,offset MT_System.Func`2[[System.Char, System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       [rdi+18],rcx
mov       rcx,rsi
mov       rdx,rdi
call      qword ptr [7FFE28CB5AA0]; DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       rcx,[rcx+8]
movzx     edx,dx
jmp       qword ptr [7FFE28CB5B90]; System.Linq.Enumerable.Contains[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, Char)
 
DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
lea       rbp,[rsp+60]
mov       [rbp-40],rsp
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L20
test      rbx,rbx
je        near ptr M02_L21
mov       rcx,offset MT_System.String
cmp       [rsi],rcx
jne       near ptr M02_L22
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,rdi
M02_L00
 
mov       [rbp-38],rcx
test      rcx,rcx
je        near ptr M02_L08
mov       rdi,[rcx]
mov       rdx,offset MT_System.CharEnumerator
mov       r14,rdx
cmp       rdi,r14
jne       near ptr M02_L08
mov       rdx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],rdx
jne       near ptr M02_L08
jmp       short M02_L03
M02_L01
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        near ptr M02_L15
mov       rcx,r11
mov       r11,7FFE280B1068
call      qword ptr [r11]
M02_L02
 
test      eax,eax
je        near ptr M02_L18
M02_L03
 
mov       rcx,[rbp-38]
cmp       rdi,r14
jne       short M02_L05
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L04
mov       [rax+10],r8d
jmp       short M02_L01
M02_L04
 
mov       [rax+10],esi
jmp       near ptr M02_L17
M02_L05
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
test      eax,eax
je        near ptr M02_L17
mov       rcx,[rbp-38]
mov       r11,7FFE280B1058
call      qword ptr [r11]
mov       edx,eax
jmp       near ptr M02_L16
M02_L06
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],r11
jne       short M02_L11
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        short M02_L12
mov       rcx,r11
mov       r11,7FFE280B1068
call      qword ptr [r11]
M02_L07
 
test      eax,eax
je        near ptr M02_L18
M02_L08
 
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L10
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L09
mov       [rax+10],r8d
jmp       near ptr M02_L06
M02_L09
 
mov       [rax+10],esi
jmp       short M02_L17
M02_L10
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
test      eax,eax
jne       short M02_L13
jmp       short M02_L17
M02_L11
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       short M02_L07
M02_L12
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E0FE10]
jmp       short M02_L07
M02_L13
 
mov       rcx,[rbp-38]
mov       r11,7FFE280B1058
call      qword ptr [r11]
mov       edx,eax
jmp       short M02_L11
M02_L14
 
mov       ecx,[r10+10]
call      qword ptr [7FFE2845EFD0]
int       3
M02_L15
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E0FE10]
jmp       near ptr M02_L02
M02_L16
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       near ptr M02_L02
M02_L17
 
mov       rcx,[rbp-38]
mov       rcx,rsp
call      M02_L25
jmp       near ptr M02_L24
M02_L18
 
cmp       rdi,r14
jne       near ptr M02_L23
xor       eax,eax
mov       rcx,[rbp-38]
mov       [rcx+8],rax
M02_L19
 
xor       eax,eax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L20
 
call      qword ptr [7FFE28775230]
mov       ecx,49
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rdi,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,r14
mov       rcx,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M02_L21
 
call      qword ptr [7FFE28775230]
mov       ecx,23D
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L22
 
mov       rcx,rsi
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       rcx,rax
jmp       near ptr M02_L00
M02_L23
 
mov       rcx,[rbp-38]
mov       r11,7FFE280B1060
call      qword ptr [r11]
jmp       near ptr M02_L19
M02_L24
 
mov       eax,1
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L25
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-38],0
je        short M02_L27
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L26
xor       r11d,r11d
mov       [rcx+8],r11
jmp       short M02_L27
M02_L26
 
mov       r11,7FFE280B1060
call      qword ptr [r11]
M02_L27
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ContainsAny()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,[rbx+288]
mov       rcx,offset MT_System.Char[]
mov       edx,2
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       word ptr [rdi+10],61
mov       word ptr [rdi+12],7A
mov       rcx,offset MT_DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
lea       rcx,[rbp+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
test      rsi,rsi
je        short M00_L01
mov       rcx,[rbp+8]
mov       ecx,[rcx+8]
mov       rcx,offset MT_System.Func`2[[System.Char, System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       [rdi+18],rcx
mov       rcx,rsi
mov       rdx,rdi
call      qword ptr [7FFE28CE5AA0]; DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       rcx,[rcx+8]
movzx     edx,dx
jmp       qword ptr [7FFE28CE5B90]; System.Linq.Enumerable.Contains[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, Char)
 
DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,38
lea       rbp,[rsp+60]
mov       [rbp-40],rsp
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L17
test      rbx,rbx
je        near ptr M02_L18
mov       rcx,offset MT_System.String
cmp       [rsi],rcx
jne       near ptr M02_L19
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,rdi
M02_L00
 
mov       [rbp-30],rcx
test      rcx,rcx
je        near ptr M02_L07
mov       rdi,offset MT_System.CharEnumerator
cmp       [rcx],rdi
jne       near ptr M02_L07
mov       rdx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],rdx
jne       near ptr M02_L07
jmp       short M02_L03
M02_L01
 
mov       r10,rcx
mov       r14d,[r10+10]
mov       r15,[r10+8]
mov       edx,[r15+8]
cmp       edx,r14d
jbe       near ptr M02_L12
mov       edx,r14d
movzx     edx,word ptr [r15+rdx*2+0C]
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        near ptr M02_L13
mov       rcx,r11
mov       r11,7FFE280E1068
call      qword ptr [r11]
M02_L02
 
test      eax,eax
je        near ptr M02_L15
M02_L03
 
mov       rcx,[rbp-30]
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L04
mov       [rax+10],r8d
jmp       short M02_L01
M02_L04
 
mov       [rax+10],esi
jmp       near ptr M02_L14
M02_L05
 
mov       r10,rcx
mov       r14d,[r10+10]
mov       r15,[r10+8]
mov       edx,[r15+8]
cmp       edx,r14d
jbe       near ptr M02_L12
mov       edx,r14d
movzx     edx,word ptr [r15+rdx*2+0C]
mov       r11,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],r11
jne       short M02_L10
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        short M02_L09
mov       rcx,r11
mov       r11,7FFE280E1068
call      qword ptr [r11]
M02_L06
 
test      eax,eax
je        near ptr M02_L15
M02_L07
 
mov       rcx,[rbp-30]
mov       rdi,offset MT_System.CharEnumerator
cmp       [rcx],rdi
jne       short M02_L11
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L08
mov       [rax+10],r8d
jmp       near ptr M02_L05
M02_L08
 
mov       [rax+10],esi
jmp       short M02_L14
M02_L09
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E84510]
jmp       short M02_L06
M02_L10
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       short M02_L06
M02_L11
 
mov       r11,7FFE280E1050
call      qword ptr [r11]
test      eax,eax
je        short M02_L14
mov       rcx,[rbp-30]
mov       r11,7FFE280E1058
call      qword ptr [r11]
mov       edx,eax
jmp       short M02_L10
M02_L12
 
mov       ecx,[r10+10]
call      qword ptr [7FFE2848EFD0]
int       3
M02_L13
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E84510]
jmp       near ptr M02_L02
M02_L14
 
mov       rcx,[rbp-30]
mov       rcx,rsp
call      M02_L22
jmp       near ptr M02_L21
M02_L15
 
mov       rcx,[rbp-30]
cmp       [rcx],rdi
jne       near ptr M02_L20
xor       eax,eax
mov       [rcx+8],rax
M02_L16
 
xor       eax,eax
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L17
 
call      qword ptr [7FFE287A5230]
mov       ecx,49
mov       rdx,7FFE28723548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE285B5108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28226B08]; System.String.Concat(System.String, System.String)
mov       rdi,rax
mov       ecx,1
mov       rdx,7FFE28723548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28226B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287A5020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE284B6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L18
 
call      qword ptr [7FFE287A5230]
mov       ecx,23D
mov       rdx,7FFE28723548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE285B5108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28226B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE28723548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28226B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE287A5020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE284B6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L19
 
mov       rcx,rsi
mov       r11,7FFE280E1048
call      qword ptr [r11]
mov       rcx,rax
jmp       near ptr M02_L00
M02_L20
 
mov       r11,7FFE280E1060
call      qword ptr [r11]
jmp       near ptr M02_L16
M02_L21
 
mov       eax,1
add       rsp,38
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M02_L22
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M02_L24
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,[rbp-30]
cmp       [rcx],rdi
jne       short M02_L23
xor       r11d,r11d
mov       [rcx+8],r11
jmp       short M02_L24
M02_L23
 
mov       r11,7FFE280E1060
call      qword ptr [r11]
M02_L24
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ContainsAny()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,[rbx+288]
mov       rcx,offset MT_System.Char[]
mov       edx,2
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       word ptr [rdi+10],61
mov       word ptr [rdi+12],7A
mov       rcx,offset MT_DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
lea       rcx,[rbp+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
test      rsi,rsi
je        short M00_L01
mov       rcx,[rbp+8]
mov       ecx,[rcx+8]
mov       rcx,offset MT_System.Func`2[[System.Char, System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       [rdi+18],rcx
mov       rcx,rsi
mov       rdx,rdi
call      qword ptr [7FFE28CB6EC8]; DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       rcx,[rcx+8]
movzx     edx,dx
jmp       qword ptr [7FFE28CB6FB8]; System.Linq.Enumerable.Contains[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, Char)
 
DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
lea       rbp,[rsp+60]
mov       [rbp-40],rsp
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L20
test      rbx,rbx
je        near ptr M02_L21
mov       rcx,offset MT_System.String
cmp       [rsi],rcx
jne       near ptr M02_L22
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,rdi
M02_L00
 
mov       [rbp-38],rcx
test      rcx,rcx
je        near ptr M02_L08
mov       rdi,[rcx]
mov       rdx,offset MT_System.CharEnumerator
mov       r14,rdx
cmp       rdi,r14
jne       near ptr M02_L08
mov       rdx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],rdx
jne       near ptr M02_L08
jmp       short M02_L03
M02_L01
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        near ptr M02_L15
mov       rcx,r11
mov       r11,7FFE280B1068
call      qword ptr [r11]
M02_L02
 
test      eax,eax
je        near ptr M02_L18
M02_L03
 
mov       rcx,[rbp-38]
cmp       rdi,r14
jne       short M02_L05
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L04
mov       [rax+10],r8d
jmp       short M02_L01
M02_L04
 
mov       [rax+10],esi
jmp       near ptr M02_L17
M02_L05
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
test      eax,eax
je        near ptr M02_L17
mov       rcx,[rbp-38]
mov       r11,7FFE280B1058
call      qword ptr [r11]
mov       edx,eax
jmp       near ptr M02_L16
M02_L06
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],r11
jne       short M02_L11
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        short M02_L12
mov       rcx,r11
mov       r11,7FFE280B1068
call      qword ptr [r11]
M02_L07
 
test      eax,eax
je        near ptr M02_L18
M02_L08
 
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L10
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L09
mov       [rax+10],r8d
jmp       near ptr M02_L06
M02_L09
 
mov       [rax+10],esi
jmp       short M02_L17
M02_L10
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
test      eax,eax
jne       short M02_L13
jmp       short M02_L17
M02_L11
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       short M02_L07
M02_L12
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E44D20]
jmp       short M02_L07
M02_L13
 
mov       rcx,[rbp-38]
mov       r11,7FFE280B1058
call      qword ptr [r11]
mov       edx,eax
jmp       short M02_L11
M02_L14
 
mov       ecx,[r10+10]
call      qword ptr [7FFE2845EFD0]
int       3
M02_L15
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E44D20]
jmp       near ptr M02_L02
M02_L16
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       near ptr M02_L02
M02_L17
 
mov       rcx,[rbp-38]
mov       rcx,rsp
call      M02_L25
jmp       near ptr M02_L24
M02_L18
 
cmp       rdi,r14
jne       near ptr M02_L23
xor       eax,eax
mov       rcx,[rbp-38]
mov       [rcx+8],rax
M02_L19
 
xor       eax,eax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L20
 
call      qword ptr [7FFE28775230]
mov       ecx,49
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rdi,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,r14
mov       rcx,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M02_L21
 
call      qword ptr [7FFE28775230]
mov       ecx,23D
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L22
 
mov       rcx,rsi
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       rcx,rax
jmp       near ptr M02_L00
M02_L23
 
mov       rcx,[rbp-38]
mov       r11,7FFE280B1060
call      qword ptr [r11]
jmp       near ptr M02_L19
M02_L24
 
mov       eax,1
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L25
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-38],0
je        short M02_L27
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L26
xor       r11d,r11d
mov       [rcx+8],r11
jmp       short M02_L27
M02_L26
 
mov       r11,7FFE280B1060
call      qword ptr [r11]
M02_L27
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ContainsAny()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,[rbx+288]
mov       rcx,offset MT_System.Char[]
mov       edx,2
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       word ptr [rdi+10],61
mov       word ptr [rdi+12],7A
mov       rcx,offset MT_DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
lea       rcx,[rbp+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
test      rsi,rsi
je        short M00_L01
mov       rcx,[rbp+8]
mov       ecx,[rcx+8]
mov       rcx,offset MT_System.Func`2[[System.Char, System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       [rdi+18],rcx
mov       rcx,rsi
mov       rdx,rdi
call      qword ptr [7FFE28CC6C70]; DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       rcx,[rcx+8]
movzx     edx,dx
jmp       qword ptr [7FFE28CC6D60]; System.Linq.Enumerable.Contains[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, Char)
 
DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
lea       rbp,[rsp+60]
mov       [rbp-40],rsp
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L20
test      rbx,rbx
je        near ptr M02_L21
mov       rcx,offset MT_System.String
cmp       [rsi],rcx
jne       near ptr M02_L22
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,rdi
M02_L00
 
mov       [rbp-38],rcx
test      rcx,rcx
je        near ptr M02_L08
mov       rdi,[rcx]
mov       rdx,offset MT_System.CharEnumerator
mov       r14,rdx
cmp       rdi,r14
jne       near ptr M02_L08
mov       rdx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],rdx
jne       near ptr M02_L08
jmp       short M02_L03
M02_L01
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        near ptr M02_L15
mov       rcx,r11
mov       r11,7FFE280C1068
call      qword ptr [r11]
M02_L02
 
test      eax,eax
je        near ptr M02_L18
M02_L03
 
mov       rcx,[rbp-38]
cmp       rdi,r14
jne       short M02_L05
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L04
mov       [rax+10],r8d
jmp       short M02_L01
M02_L04
 
mov       [rax+10],esi
jmp       near ptr M02_L17
M02_L05
 
mov       r11,7FFE280C1050
call      qword ptr [r11]
test      eax,eax
je        near ptr M02_L17
mov       rcx,[rbp-38]
mov       r11,7FFE280C1058
call      qword ptr [r11]
mov       edx,eax
jmp       near ptr M02_L16
M02_L06
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],r11
jne       short M02_L11
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        short M02_L12
mov       rcx,r11
mov       r11,7FFE280C1068
call      qword ptr [r11]
M02_L07
 
test      eax,eax
je        near ptr M02_L18
M02_L08
 
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L10
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L09
mov       [rax+10],r8d
jmp       near ptr M02_L06
M02_L09
 
mov       [rax+10],esi
jmp       short M02_L17
M02_L10
 
mov       r11,7FFE280C1050
call      qword ptr [r11]
test      eax,eax
jne       short M02_L13
jmp       short M02_L17
M02_L11
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       short M02_L07
M02_L12
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E54D20]
jmp       short M02_L07
M02_L13
 
mov       rcx,[rbp-38]
mov       r11,7FFE280C1058
call      qword ptr [r11]
mov       edx,eax
jmp       short M02_L11
M02_L14
 
mov       ecx,[r10+10]
call      qword ptr [7FFE2846EFD0]
int       3
M02_L15
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E54D20]
jmp       near ptr M02_L02
M02_L16
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       near ptr M02_L02
M02_L17
 
mov       rcx,[rbp-38]
mov       rcx,rsp
call      M02_L25
jmp       near ptr M02_L24
M02_L18
 
cmp       rdi,r14
jne       near ptr M02_L23
xor       eax,eax
mov       rcx,[rbp-38]
mov       [rcx+8],rax
M02_L19
 
xor       eax,eax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L20
 
call      qword ptr [7FFE28785230]
mov       ecx,49
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rdi,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,r14
mov       rcx,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M02_L21
 
call      qword ptr [7FFE28785230]
mov       ecx,23D
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L22
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       rcx,rax
jmp       near ptr M02_L00
M02_L23
 
mov       rcx,[rbp-38]
mov       r11,7FFE280C1060
call      qword ptr [r11]
jmp       near ptr M02_L19
M02_L24
 
mov       eax,1
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L25
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-38],0
je        short M02_L27
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L26
xor       r11d,r11d
mov       [rcx+8],r11
jmp       short M02_L27
M02_L26
 
mov       r11,7FFE280C1060
call      qword ptr [r11]
M02_L27
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ContainsAny()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,[rbx+288]
mov       rcx,offset MT_System.Char[]
mov       edx,2
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       word ptr [rdi+10],61
mov       word ptr [rdi+12],7A
mov       rcx,offset MT_DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
lea       rcx,[rbp+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
test      rsi,rsi
je        short M00_L01
mov       rcx,[rbp+8]
mov       ecx,[rcx+8]
mov       rcx,offset MT_System.Func`2[[System.Char, System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       [rdi+18],rcx
mov       rcx,rsi
mov       rdx,rdi
call      qword ptr [7FFE28CB6EC8]; DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       rcx,[rcx+8]
movzx     edx,dx
jmp       qword ptr [7FFE28CB6FB8]; System.Linq.Enumerable.Contains[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, Char)
 
DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
lea       rbp,[rsp+60]
mov       [rbp-40],rsp
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L20
test      rbx,rbx
je        near ptr M02_L21
mov       rcx,offset MT_System.String
cmp       [rsi],rcx
jne       near ptr M02_L22
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,rdi
M02_L00
 
mov       [rbp-38],rcx
test      rcx,rcx
je        near ptr M02_L08
mov       rdi,[rcx]
mov       rdx,offset MT_System.CharEnumerator
mov       r14,rdx
cmp       rdi,r14
jne       near ptr M02_L08
mov       rdx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],rdx
jne       near ptr M02_L08
jmp       short M02_L03
M02_L01
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        near ptr M02_L15
mov       rcx,r11
mov       r11,7FFE280B1068
call      qword ptr [r11]
M02_L02
 
test      eax,eax
je        near ptr M02_L18
M02_L03
 
mov       rcx,[rbp-38]
cmp       rdi,r14
jne       short M02_L05
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L04
mov       [rax+10],r8d
jmp       short M02_L01
M02_L04
 
mov       [rax+10],esi
jmp       near ptr M02_L17
M02_L05
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
test      eax,eax
je        near ptr M02_L17
mov       rcx,[rbp-38]
mov       r11,7FFE280B1058
call      qword ptr [r11]
mov       edx,eax
jmp       near ptr M02_L16
M02_L06
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],r11
jne       short M02_L11
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        short M02_L12
mov       rcx,r11
mov       r11,7FFE280B1068
call      qword ptr [r11]
M02_L07
 
test      eax,eax
je        near ptr M02_L18
M02_L08
 
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L10
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L09
mov       [rax+10],r8d
jmp       near ptr M02_L06
M02_L09
 
mov       [rax+10],esi
jmp       short M02_L17
M02_L10
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
test      eax,eax
jne       short M02_L13
jmp       short M02_L17
M02_L11
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       short M02_L07
M02_L12
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E44D20]
jmp       short M02_L07
M02_L13
 
mov       rcx,[rbp-38]
mov       r11,7FFE280B1058
call      qword ptr [r11]
mov       edx,eax
jmp       short M02_L11
M02_L14
 
mov       ecx,[r10+10]
call      qword ptr [7FFE2845EFD0]
int       3
M02_L15
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E44D20]
jmp       near ptr M02_L02
M02_L16
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       near ptr M02_L02
M02_L17
 
mov       rcx,[rbp-38]
mov       rcx,rsp
call      M02_L25
jmp       near ptr M02_L24
M02_L18
 
cmp       rdi,r14
jne       near ptr M02_L23
xor       eax,eax
mov       rcx,[rbp-38]
mov       [rcx+8],rax
M02_L19
 
xor       eax,eax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L20
 
call      qword ptr [7FFE28775230]
mov       ecx,49
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rdi,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,r14
mov       rcx,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M02_L21
 
call      qword ptr [7FFE28775230]
mov       ecx,23D
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L22
 
mov       rcx,rsi
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       rcx,rax
jmp       near ptr M02_L00
M02_L23
 
mov       rcx,[rbp-38]
mov       r11,7FFE280B1060
call      qword ptr [r11]
jmp       near ptr M02_L19
M02_L24
 
mov       eax,1
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L25
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-38],0
je        short M02_L27
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L26
xor       r11d,r11d
mov       [rcx+8],r11
jmp       short M02_L27
M02_L26
 
mov       r11,7FFE280B1060
call      qword ptr [r11]
M02_L27
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.ContainsAny()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,[rbx+288]
mov       rcx,offset MT_System.Char[]
mov       edx,2
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       word ptr [rdi+10],61
mov       word ptr [rdi+12],7A
mov       rcx,offset MT_DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
lea       rcx,[rbp+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
test      rsi,rsi
je        short M00_L01
mov       rcx,[rbp+8]
mov       ecx,[rcx+8]
mov       rcx,offset MT_System.Func`2[[System.Char, System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       [rdi+18],rcx
mov       rcx,rsi
mov       rdx,rdi
call      qword ptr [7FFE28CC6EC8]; DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
mov       rcx,[rcx+8]
movzx     edx,dx
jmp       qword ptr [7FFE28CC6FB8]; System.Linq.Enumerable.Contains[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, Char)
 
DotNetTips.Spargine.Extensions.EnumerableExtensions.FastAny[[System.Char, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1, System.Func`2)
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
lea       rbp,[rsp+60]
mov       [rbp-40],rsp
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L20
test      rbx,rbx
je        near ptr M02_L21
mov       rcx,offset MT_System.String
cmp       [rsi],rcx
jne       near ptr M02_L22
mov       rdi,offset MT_System.CharEnumerator
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       dword ptr [rdi+10],0FFFFFFFF
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,rdi
M02_L00
 
mov       [rbp-38],rcx
test      rcx,rcx
je        near ptr M02_L08
mov       rdi,[rcx]
mov       rdx,offset MT_System.CharEnumerator
mov       r14,rdx
cmp       rdi,r14
jne       near ptr M02_L08
mov       rdx,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],rdx
jne       near ptr M02_L08
jmp       short M02_L03
M02_L01
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        near ptr M02_L15
mov       rcx,r11
mov       r11,7FFE280C1068
call      qword ptr [r11]
M02_L02
 
test      eax,eax
je        near ptr M02_L18
M02_L03
 
mov       rcx,[rbp-38]
cmp       rdi,r14
jne       short M02_L05
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L04
mov       [rax+10],r8d
jmp       short M02_L01
M02_L04
 
mov       [rax+10],esi
jmp       near ptr M02_L17
M02_L05
 
mov       r11,7FFE280C1050
call      qword ptr [r11]
test      eax,eax
je        near ptr M02_L17
mov       rcx,[rbp-38]
mov       r11,7FFE280C1058
call      qword ptr [r11]
mov       edx,eax
jmp       near ptr M02_L16
M02_L06
 
mov       r10,rcx
mov       r15d,[r10+10]
mov       r13,[r10+8]
mov       edx,[r13+8]
cmp       edx,r15d
jbe       near ptr M02_L14
mov       edx,r15d
movzx     edx,word ptr [r13+rdx*2+0C]
mov       r11,offset DotNetTips.Spargine.Extensions.EnumerableExtensions+<>c__DisplayClass7_0`1[[System.Char, System.Private.CoreLib]].b__0(Char)
cmp       [rbx+18],r11
jne       short M02_L11
mov       r11,[rbx+8]
mov       r9,[r11+8]
mov       r11,r9
test      r11,r11
je        short M02_L12
mov       rcx,r11
mov       r11,7FFE280C1068
call      qword ptr [r11]
M02_L07
 
test      eax,eax
je        near ptr M02_L18
M02_L08
 
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L10
mov       rax,rcx
mov       r8d,[rax+10]
inc       r8d
mov       rdx,[rax+8]
mov       esi,[rdx+8]
cmp       r8d,esi
jge       short M02_L09
mov       [rax+10],r8d
jmp       near ptr M02_L06
M02_L09
 
mov       [rax+10],esi
jmp       short M02_L17
M02_L10
 
mov       r11,7FFE280C1050
call      qword ptr [r11]
test      eax,eax
jne       short M02_L13
jmp       short M02_L17
M02_L11
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       short M02_L07
M02_L12
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E54D20]
jmp       short M02_L07
M02_L13
 
mov       rcx,[rbp-38]
mov       r11,7FFE280C1058
call      qword ptr [r11]
mov       edx,eax
jmp       short M02_L11
M02_L14
 
mov       ecx,[r10+10]
call      qword ptr [7FFE2846EFD0]
int       3
M02_L15
 
mov       rcx,r9
xor       r8d,r8d
call      qword ptr [7FFE28E54D20]
jmp       near ptr M02_L02
M02_L16
 
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
jmp       near ptr M02_L02
M02_L17
 
mov       rcx,[rbp-38]
mov       rcx,rsp
call      M02_L25
jmp       near ptr M02_L24
M02_L18
 
cmp       rdi,r14
jne       near ptr M02_L23
xor       eax,eax
mov       rcx,[rbp-38]
mov       [rcx+8],rax
M02_L19
 
xor       eax,eax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L20
 
call      qword ptr [7FFE28785230]
mov       ecx,49
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rdi,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,r14
mov       rcx,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M02_L21
 
call      qword ptr [7FFE28785230]
mov       ecx,23D
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L22
 
mov       rcx,rsi
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       rcx,rax
jmp       near ptr M02_L00
M02_L23
 
mov       rcx,[rbp-38]
mov       r11,7FFE280C1060
call      qword ptr [r11]
jmp       near ptr M02_L19
M02_L24
 
mov       eax,1
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L25
 
push      rbp
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-38],0
je        short M02_L27
mov       rcx,[rbp-38]
mov       rdi,[rcx]
mov       r14,offset MT_System.CharEnumerator
cmp       rdi,r14
jne       short M02_L26
xor       r11d,r11d
mov       [rcx+8],r11
jmp       short M02_L27
M02_L26
 
mov       r11,7FFE280C1060
call      qword ptr [r11]
M02_L27
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.DelimitedStringToArray()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
mov       dword ptr [rsp+28],2E
lea       rdx,[rsp+28]
call      qword ptr [7FFE286DCED0]; DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
sub       rsp,38
xor       eax,eax
mov       [rsp+20],rax
test      rcx,rcx
je        short M01_L00
cmp       dword ptr [rcx+8],0
je        short M01_L00
movzx     edx,word ptr [rdx]
mov       [rsp+34],dx
lea       rdx,[rsp+34]
mov       [rsp+20],rdx
mov       dword ptr [rsp+28],1
lea       rdx,[rsp+20]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
nop
add       rsp,38
ret
M01_L00
 
mov       rcx,7FFE28135120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,23AAF802008
mov       rax,[rax]
add       rsp,38
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.DelimitedStringToArray()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
mov       dword ptr [rsp+28],2E
lea       rdx,[rsp+28]
call      qword ptr [7FFE2870CED0]; DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
sub       rsp,38
xor       eax,eax
mov       [rsp+20],rax
test      rcx,rcx
je        short M01_L00
cmp       dword ptr [rcx+8],0
je        short M01_L00
movzx     edx,word ptr [rdx]
mov       [rsp+34],dx
lea       rdx,[rsp+34]
mov       [rsp+20],rdx
mov       dword ptr [rsp+28],1
lea       rdx,[rsp+20]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE282270C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
nop
add       rsp,38
ret
M01_L00
 
mov       rcx,7FFE28165120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,17E06802008
mov       rax,[rax]
add       rsp,38
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.DelimitedStringToArray()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
mov       dword ptr [rsp+28],2E
lea       rdx,[rsp+28]
call      qword ptr [7FFE286DCED0]; DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
sub       rsp,38
xor       eax,eax
mov       [rsp+20],rax
test      rcx,rcx
je        short M01_L00
cmp       dword ptr [rcx+8],0
je        short M01_L00
movzx     edx,word ptr [rdx]
mov       [rsp+34],dx
lea       rdx,[rsp+34]
mov       [rsp+20],rdx
mov       dword ptr [rsp+28],1
lea       rdx,[rsp+20]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
nop
add       rsp,38
ret
M01_L00
 
mov       rcx,7FFE28135120
mov       edx,7E
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,1E84D802010
mov       rax,[rax]
add       rsp,38
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.DelimitedStringToArray()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
mov       dword ptr [rsp+28],2E
lea       rdx,[rsp+28]
call      qword ptr [7FFE286CCED0]; DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
sub       rsp,38
xor       eax,eax
mov       [rsp+20],rax
test      rcx,rcx
je        short M01_L00
cmp       dword ptr [rcx+8],0
je        short M01_L00
movzx     edx,word ptr [rdx]
mov       [rsp+34],dx
lea       rdx,[rsp+34]
mov       [rsp+20],rdx
mov       dword ptr [rsp+28],1
lea       rdx,[rsp+20]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281E70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
nop
add       rsp,38
ret
M01_L00
 
mov       rcx,7FFE28125120
mov       edx,7E
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,1C3BF802010
mov       rax,[rax]
add       rsp,38
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.DelimitedStringToArray()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
mov       dword ptr [rsp+28],2E
lea       rdx,[rsp+28]
call      qword ptr [7FFE2870CED0]; DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
sub       rsp,38
xor       eax,eax
mov       [rsp+20],rax
test      rcx,rcx
je        short M01_L00
cmp       dword ptr [rcx+8],0
je        short M01_L00
movzx     edx,word ptr [rdx]
mov       [rsp+34],dx
lea       rdx,[rsp+34]
mov       [rsp+20],rdx
mov       dword ptr [rsp+28],1
lea       rdx,[rsp+20]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE282270C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
nop
add       rsp,38
ret
M01_L00
 
mov       rcx,7FFE28165120
mov       edx,7E
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,1B45F002010
mov       rax,[rax]
add       rsp,38
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.DelimitedStringToArray()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
mov       dword ptr [rsp+28],2E
lea       rdx,[rsp+28]
call      qword ptr [7FFE286CCED0]; DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
sub       rsp,38
xor       eax,eax
mov       [rsp+20],rax
test      rcx,rcx
je        short M01_L00
cmp       dword ptr [rcx+8],0
je        short M01_L00
movzx     edx,word ptr [rdx]
mov       [rsp+34],dx
lea       rdx,[rsp+34]
mov       [rsp+20],rdx
mov       dword ptr [rsp+28],1
lea       rdx,[rsp+20]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281E70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
nop
add       rsp,38
ret
M01_L00
 
mov       rcx,7FFE28125120
mov       edx,7E
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,2D5D5C02010
mov       rax,[rax]
add       rsp,38
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.DelimitedStringToArray()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
mov       dword ptr [rsp+28],2E
lea       rdx,[rsp+28]
call      qword ptr [7FFE286ECED0]; DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
sub       rsp,38
xor       eax,eax
mov       [rsp+20],rax
test      rcx,rcx
je        short M01_L00
cmp       dword ptr [rcx+8],0
je        short M01_L00
movzx     edx,word ptr [rdx]
mov       [rsp+34],dx
lea       rdx,[rsp+34]
mov       [rsp+20],rdx
mov       dword ptr [rsp+28],1
lea       rdx,[rsp+20]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
nop
add       rsp,38
ret
M01_L00
 
mov       rcx,7FFE28145120
mov       edx,7E
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,25A2B802010
mov       rax,[rax]
add       rsp,38
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.DelimitedStringToArray()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
mov       dword ptr [rsp+28],2E
lea       rdx,[rsp+28]
call      qword ptr [7FFE286CCED0]; DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.DelimitedStringToArray(System.String, Char ByRef)
sub       rsp,38
xor       eax,eax
mov       [rsp+20],rax
test      rcx,rcx
je        short M01_L00
cmp       dword ptr [rcx+8],0
je        short M01_L00
movzx     edx,word ptr [rdx]
mov       [rsp+34],dx
lea       rdx,[rsp+34]
mov       [rsp+20],rdx
mov       dword ptr [rsp+28],1
lea       rdx,[rsp+20]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281E70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
nop
add       rsp,38
ret
M01_L00
 
mov       rcx,7FFE28125120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,1FBF9002010
mov       rax,[rax]
add       rsp,38
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsIgnoreCase()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
test      rcx,rcx
je        short M00_L01
mov       r8d,5
call      qword ptr [7FFE282061D8]; System.String.Equals(System.String, System.String, System.StringComparison)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2846ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D57B38]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28414180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2867F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28145120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,2BA6C0003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2867F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282B5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28205F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2820F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsIgnoreCase()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
test      rcx,rcx
je        short M00_L01
mov       r8d,5
call      qword ptr [7FFE281F61D8]; System.String.Equals(System.String, System.String, System.StringComparison)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2845ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D47E48]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28404180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2866F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28135120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,1621A4003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2866F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282A5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281F5F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE281FF750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsIgnoreCase()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
test      rcx,rcx
je        short M00_L01
mov       r8d,5
call      qword ptr [7FFE282061D8]; System.String.Equals(System.String, System.String, System.StringComparison)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2846ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D592D8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28414180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2867F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28145120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,21E080003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2867F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282B5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28205F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2820F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsIgnoreCase()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
test      rcx,rcx
je        short M00_L01
mov       r8d,5
call      qword ptr [7FFE282061D8]; System.String.Equals(System.String, System.String, System.StringComparison)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2846ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D59BC8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28414180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2867F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28145120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,21554C003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2867F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282B5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28205F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2820F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsIgnoreCase()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
test      rcx,rcx
je        short M00_L01
mov       r8d,5
call      qword ptr [7FFE282161D8]; System.String.Equals(System.String, System.String, System.StringComparison)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2847ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D7A4D8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28424180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2868F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28155120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,280A4C003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2868F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282C5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28215F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2821F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsIgnoreCase()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
test      rcx,rcx
je        short M00_L01
mov       r8d,5
call      qword ptr [7FFE282061D8]; System.String.Equals(System.String, System.String, System.StringComparison)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2846ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D6A538]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28414180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE286A4E88]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28145120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,178A00003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE286A4E88]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282B5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28205F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287E79A8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2820F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsIgnoreCase()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
test      rcx,rcx
je        short M00_L01
mov       r8d,5
call      qword ptr [7FFE282261D8]; System.String.Equals(System.String, System.String, System.StringComparison)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2848ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D8A5F8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28434180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2869F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28165120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,1C5D94003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2869F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282D5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28225F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE288059C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280D4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2822F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsIgnoreCase()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
test      rcx,rcx
je        short M00_L01
mov       r8d,5
call      qword ptr [7FFE282161D8]; System.String.Equals(System.String, System.String, System.StringComparison)
M00_L00
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
M00_L01
 
xor       eax,eax
jmp       short M00_L00
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2847ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D6A5D8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28424180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2868F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28155120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,2AD20C003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2868F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282C5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28215F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2821F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsOrBothNullOrEmpty()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
mov       r8,1F72E830008
test      rcx,rcx
cmove     rcx,r8
test      rdx,rdx
cmove     rdx,r8
mov       r8d,4
call      qword ptr [7FFE281E61D8]; System.String.Equals(System.String, System.String, System.StringComparison)
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2844ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D378F8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE283F4180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2865F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28125120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,1B69C8003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2865F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE28295068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281E5F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287C59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE28094000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE281EF750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsOrBothNullOrEmpty()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
mov       r8,21951EE0008
test      rcx,rcx
cmove     rcx,r8
test      rdx,rdx
cmove     rdx,r8
mov       r8d,4
call      qword ptr [7FFE281E61D8]; System.String.Equals(System.String, System.String, System.StringComparison)
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2844ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D37CD8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE283F4180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2865F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28125120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,1D8C00003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2865F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE28295068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281E5F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287C59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE28094000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE281EF750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsOrBothNullOrEmpty()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
mov       r8,277E50B0008
test      rcx,rcx
cmove     rcx,r8
test      rdx,rdx
cmove     rdx,r8
mov       r8d,4
call      qword ptr [7FFE281F61D8]; System.String.Equals(System.String, System.String, System.StringComparison)
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2845ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D49488]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28404180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2866F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28135120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,237534003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2866F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282A5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281F5F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE281FF750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsOrBothNullOrEmpty()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
mov       r8,2F8AE180008
test      rcx,rcx
cmove     rcx,r8
test      rdx,rdx
cmove     rdx,r8
mov       r8d,4
call      qword ptr [7FFE282261D8]; System.String.Equals(System.String, System.String, System.StringComparison)
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2848ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D79BE8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28434180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE286AE8F8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28165120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,2B8200003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE286AE8F8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282D5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28225F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE28805338]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280D4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2822F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsOrBothNullOrEmpty()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
mov       r8,1A4C1D50008
test      rcx,rcx
cmove     rcx,r8
test      rdx,rdx
cmove     rdx,r8
mov       r8d,4
call      qword ptr [7FFE282161D8]; System.String.Equals(System.String, System.String, System.StringComparison)
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2847ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D6A5D8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28424180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2868F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28155120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,164300003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2868F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282C5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28215F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2821F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsOrBothNullOrEmpty()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
mov       r8,1DD584F0008
test      rcx,rcx
cmove     rcx,r8
test      rdx,rdx
cmove     rdx,r8
mov       r8d,4
call      qword ptr [7FFE281F61D8]; System.String.Equals(System.String, System.String, System.StringComparison)
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2845ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D4A6D8]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28404180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2866F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28135120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,19CC64003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2866F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282A5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281F5F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE281FF750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsOrBothNullOrEmpty()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
mov       r8,2757DCD0008
test      rcx,rcx
cmove     rcx,r8
test      rdx,rdx
cmove     rdx,r8
mov       r8d,4
call      qword ptr [7FFE282161D8]; System.String.Equals(System.String, System.String, System.StringComparison)
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2847ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D7A658]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28424180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2868F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28155120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,234F00003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2868F8E8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282C5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28215F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F59C8]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2821F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.EqualsOrBothNullOrEmpty()
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rdx,[rbx+288]
mov       rcx,rdx
mov       r8,27A89450008
test      rcx,rcx
cmove     rcx,r8
test      rdx,rdx
cmove     rdx,r8
mov       r8d,4
call      qword ptr [7FFE282161D8]; System.String.Equals(System.String, System.String, System.StringComparison)
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
ret
 
System.String.Equals(System.String, System.String, System.StringComparison)
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       edi,r8d
M01_L00
 
cmp       rbx,rsi
jne       short M01_L01
cmp       edi,5
ja        short M01_L03
mov       eax,1
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L01
 
test      rbx,rbx
je        short M01_L02
test      rsi,rsi
jne       short M01_L04
M01_L02
 
cmp       edi,5
jbe       near ptr M01_L05
M01_L03
 
mov       ecx,1B
mov       edx,29
call      qword ptr [7FFE2847ECB8]
int       3
M01_L04
 
cmp       edi,5
ja        near ptr M01_L07
mov       eax,edi
lea       rcx,[7FFE28D77898]
mov       ecx,[rcx+rax*4]
lea       rdx,[M01_L00]
add       rcx,rdx
jmp       rcx
call      qword ptr [7FFE28424180]; System.Globalization.CultureInfo.get_CurrentCulture()
mov       rcx,rax
mov       rax,[rax]
mov       rax,[rax+48]
call      qword ptr [rax+30]
mov       rcx,rax
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2869E8F8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       rcx,7FFE28155120
mov       edx,24F
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,239F74003D8
mov       rcx,[rcx]
mov       r9d,edi
and       r9d,1
mov       rdx,rbx
mov       r8,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE2869E8F8]; System.Globalization.CompareInfo.Compare(System.String, System.String, System.Globalization.CompareOptions)
xor       ebp,ebp
test      eax,eax
sete      bpl
jmp       near ptr M01_L08
mov       r8d,[rbx+8]
cmp       r8d,[rsi+8]
jne       short M01_L05
lea       rcx,[rbx+0C]
mov       r8d,[rbx+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282C5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
mov       ebp,eax
jmp       short M01_L08
mov       ecx,[rbx+8]
cmp       ecx,[rsi+8]
je        short M01_L06
M01_L05
 
xor       eax,eax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L06
 
mov       rcx,rbx
mov       rdx,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
jmp       qword ptr [7FFE28215F80]; System.String.EqualsOrdinalIgnoreCaseNoLengthCheck(System.String, System.String)
M01_L07
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F5338]
mov       rbx,rax
mov       ecx,16F3
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE2821F750]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L08
 
movzx     eax,bpl
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.FromBase64()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+278]
call      qword ptr [7FFE286DCF30]; DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-78],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       rbx,rcx
test      rbx,rbx
je        near ptr M01_L16
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       edx,[rsi+10]
inc       edx
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       edx,ecx
jge       near ptr M01_L10
mov       [rsi+10],edx
mov       rcx,1464B80EC28
mov       rdi,[rcx]
lea       rdx,[rbx+0C]
mov       [rbp-40],rdx
mov       r14,[rbp-40]
mov       ebx,[rbx+8]
test      ebx,ebx
jle       short M01_L02
M01_L00
 
lea       edx,[rbx-1]
movsxd    rcx,edx
movzx     ecx,word ptr [r14+rcx*2]
cmp       ecx,20
je        short M01_L01
cmp       ecx,0A
je        short M01_L01
cmp       ecx,0D
je        short M01_L01
cmp       ecx,9
jne       short M01_L02
M01_L01
 
mov       ebx,edx
test      ebx,ebx
jg        short M01_L00
M01_L02
 
mov       rdx,r14
movsxd    rcx,ebx
lea       rsi,[rdx+rcx*2]
mov       ecx,ebx
xor       r15d,r15d
cmp       r14,rsi
jae       short M01_L05
nop       dword ptr [rax]
M01_L03
 
movzx     eax,word ptr [rdx]
add       rdx,2
cmp       eax,20
jbe       near ptr M01_L17
cmp       eax,3D
je        near ptr M01_L09
M01_L04
 
cmp       rdx,rsi
jb        short M01_L03
M01_L05
 
test      r15d,r15d
je        short M01_L06
cmp       r15d,1
je        near ptr M01_L18
cmp       r15d,2
jne       near ptr M01_L19
mov       r15d,1
M01_L06
 
mov       edx,ecx
sar       edx,1F
and       edx,3
add       edx,ecx
sar       edx,2
lea       edx,[rdx+rdx*2]
add       edx,r15d
movsxd    rdx,edx
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
test      ebx,ebx
jl        near ptr M01_L20
lea       rcx,[rsi+10]
mov       edx,[rsi+8]
mov       [rbp-68],r14
mov       [rbp-60],ebx
mov       [rbp-78],rcx
mov       [rbp-70],edx
lea       rcx,[rbp-68]
lea       rdx,[rbp-78]
lea       r8,[rbp-48]
call      qword ptr [7FFE28574720]; System.Convert.TryFromBase64Chars(System.ReadOnlySpan`1, System.Span`1, Int32 ByRef)
test      eax,eax
je        near ptr M01_L21
xor       ecx,ecx
mov       [rbp-40],rcx
mov       ebx,[rsi+8]
test      ebx,ebx
je        near ptr M01_L22
mov       [rbp-50],rsi
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
je        short M01_L08
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
jbe       near ptr M01_L29
mov       rsi,[rbp-50]
add       rsi,10
M01_L07
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rdi+18]
mov       r14d,ebx
test      rcx,rcx
je        near ptr M01_L24
mov       rax,offset MT_System.Text.DecoderReplacementFallback
cmp       [rcx],rax
jne       near ptr M01_L24
mov       rcx,[rcx+8]
cmp       dword ptr [rcx+8],1
jne       near ptr M01_L24
jmp       short M01_L11
M01_L08
 
xor       esi,esi
jmp       short M01_L07
M01_L09
 
dec       ecx
inc       r15d
jmp       near ptr M01_L04
M01_L10
 
mov       [rsi+10],ecx
jmp       near ptr M01_L16
M01_L11
 
mov       r13d,r14d
cmp       r14d,ebx
jne       near ptr M01_L25
M01_L12
 
test      r13d,r13d
je        short M01_L15
mov       ecx,r13d
call      System.String.FastAllocateString(Int32)
mov       r14,rax
cmp       [r14],r14b
lea       r8,[r14+0C]
mov       [rbp-58],r8
mov       r12,[rbp-58]
test      r12,r12
je        near ptr M01_L26
mov       r8d,ebx
or        r8d,r13d
jl        near ptr M01_L27
cmp       r13d,ebx
mov       r8d,ebx
cmovle    r8d,r13d
mov       rcx,rsi
mov       rdx,r12
call      qword ptr [7FFE2845C660]; System.Text.Ascii.WidenAsciiToUtf16(Byte*, Char*, UIntPtr)
cmp       eax,ebx
jne       near ptr M01_L28
M01_L13
 
xor       eax,eax
mov       [rbp-58],rax
mov       rax,r14
M01_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L15
 
mov       rax,186DD600008
jmp       short M01_L14
M01_L16
 
mov       rax,186DD600008
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L17
 
dec       ecx
jmp       near ptr M01_L04
M01_L18
 
mov       r15d,2
jmp       near ptr M01_L06
M01_L19
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284D74B0]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L20
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L21
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE284D74B0]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L22
 
mov       rax,186DD600008
jmp       near ptr M01_L14
M01_L23
 
mov       ecx,0A
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L24
 
mov       edx,ebx
mov       rcx,rsi
call      qword ptr [7FFE2845C468]; System.Text.Ascii.GetIndexOfFirstNonAsciiByte_Vector(Byte*, UIntPtr)
mov       r14d,eax
mov       r13d,r14d
cmp       r14d,ebx
je        near ptr M01_L12
M01_L25
 
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9d,r13d
call      qword ptr [7FFE281FC990]
add       eax,r13d
mov       r13d,eax
test      r13d,r13d
jge       near ptr M01_L12
call      qword ptr [7FFE281FC7E0]
int       3
M01_L26
 
mov       ecx,0E
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L27
 
mov       ecx,10
mov       edx,0D
call      qword ptr [7FFE2845ED48]
int       3
M01_L28
 
mov       [rsp+20],r13d
mov       [rsp+28],eax
mov       [rsp+30],eax
mov       dword ptr [rsp+38],1
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9,r12
call      qword ptr [7FFE281FCA08]
jmp       near ptr M01_L13
M01_L29
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.FromBase64()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+278]
call      qword ptr [7FFE286DCF30]; DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-78],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       rbx,rcx
test      rbx,rbx
je        near ptr M01_L16
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       eax,[rsi+10]
inc       eax
mov       rdx,[rsi+8]
mov       edx,[rdx+8]
cmp       eax,edx
jge       near ptr M01_L15
mov       [rsi+10],eax
mov       rdx,2A3C5C0EC28
mov       rdi,[rdx]
lea       rax,[rbx+0C]
mov       [rbp-40],rax
mov       r14,[rbp-40]
mov       ebx,[rbx+8]
test      ebx,ebx
jle       short M01_L02
M01_L00
 
lea       edx,[rbx-1]
movsxd    rcx,edx
movzx     ecx,word ptr [r14+rcx*2]
cmp       ecx,20
je        short M01_L01
cmp       ecx,0A
je        short M01_L01
cmp       ecx,0D
je        short M01_L01
cmp       ecx,9
jne       short M01_L02
M01_L01
 
mov       ebx,edx
test      ebx,ebx
jg        short M01_L00
M01_L02
 
mov       rdx,r14
movsxd    rcx,ebx
lea       rsi,[rdx+rcx*2]
mov       ecx,ebx
xor       r15d,r15d
cmp       r14,rsi
jae       short M01_L05
nop       dword ptr [rax]
M01_L03
 
movzx     eax,word ptr [rdx]
add       rdx,2
cmp       eax,20
jbe       near ptr M01_L28
cmp       eax,3D
je        near ptr M01_L09
M01_L04
 
cmp       rdx,rsi
jb        short M01_L03
M01_L05
 
test      r15d,r15d
je        short M01_L06
cmp       r15d,1
je        near ptr M01_L17
cmp       r15d,2
jne       near ptr M01_L18
mov       r15d,1
M01_L06
 
mov       edx,ecx
sar       edx,1F
and       edx,3
add       edx,ecx
sar       edx,2
lea       edx,[rdx+rdx*2]
add       edx,r15d
movsxd    rdx,edx
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
test      ebx,ebx
jl        near ptr M01_L19
lea       rcx,[rsi+10]
mov       edx,[rsi+8]
mov       [rbp-68],r14
mov       [rbp-60],ebx
mov       [rbp-78],rcx
mov       [rbp-70],edx
lea       rcx,[rbp-68]
lea       rdx,[rbp-78]
lea       r8,[rbp-48]
call      qword ptr [7FFE28574720]; System.Convert.TryFromBase64Chars(System.ReadOnlySpan`1, System.Span`1, Int32 ByRef)
test      eax,eax
je        near ptr M01_L20
xor       ecx,ecx
mov       [rbp-40],rcx
mov       ebx,[rsi+8]
test      ebx,ebx
je        near ptr M01_L21
mov       [rbp-50],rsi
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
je        short M01_L08
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
jbe       near ptr M01_L29
mov       rsi,[rbp-50]
add       rsi,10
M01_L07
 
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rdi+18]
mov       eax,ebx
test      rcx,rcx
je        near ptr M01_L23
mov       rdx,offset MT_System.Text.DecoderReplacementFallback
cmp       [rcx],rdx
jne       near ptr M01_L23
mov       rcx,[rcx+8]
cmp       dword ptr [rcx+8],1
jne       near ptr M01_L23
jmp       short M01_L10
M01_L08
 
xor       esi,esi
jmp       short M01_L07
M01_L09
 
dec       ecx
inc       r15d
jmp       near ptr M01_L04
M01_L10
 
mov       r14d,eax
cmp       eax,ebx
jne       near ptr M01_L24
M01_L11
 
test      r14d,r14d
je        short M01_L14
mov       ecx,r14d
call      System.String.FastAllocateString(Int32)
mov       r13,rax
cmp       [r13],r13b
lea       r8,[r13+0C]
mov       [rbp-58],r8
mov       r12,[rbp-58]
test      r12,r12
je        near ptr M01_L25
mov       r8d,ebx
or        r8d,r14d
jl        near ptr M01_L26
cmp       r14d,ebx
mov       r8d,ebx
cmovle    r8d,r14d
mov       rcx,rsi
mov       rdx,r12
call      qword ptr [7FFE2845C660]; System.Text.Ascii.WidenAsciiToUtf16(Byte*, Char*, UIntPtr)
cmp       eax,ebx
jne       near ptr M01_L27
M01_L12
 
xor       eax,eax
mov       [rbp-58],rax
mov       rax,r13
M01_L13
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L14
 
mov       rax,2E457A60008
jmp       short M01_L13
M01_L15
 
mov       [rsi+10],edx
M01_L16
 
mov       rax,2E457A60008
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L17
 
mov       r15d,2
jmp       near ptr M01_L06
M01_L18
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284D74B0]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L19
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L20
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,r12
call      qword ptr [7FFE284D74B0]
mov       rcx,r12
call      CORINFO_HELP_THROW
M01_L21
 
mov       rax,2E457A60008
jmp       near ptr M01_L13
M01_L22
 
mov       ecx,0A
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L23
 
mov       edx,ebx
mov       rcx,rsi
call      qword ptr [7FFE2845C468]; System.Text.Ascii.GetIndexOfFirstNonAsciiByte_Vector(Byte*, UIntPtr)
jmp       near ptr M01_L10
M01_L24
 
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE281FC990]
add       eax,r14d
mov       r14d,eax
test      r14d,r14d
jge       near ptr M01_L11
call      qword ptr [7FFE281FC7E0]
int       3
M01_L25
 
mov       ecx,0E
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L26
 
mov       ecx,10
mov       edx,0D
call      qword ptr [7FFE2845ED48]
int       3
M01_L27
 
mov       [rsp+20],r14d
mov       [rsp+28],eax
mov       [rsp+30],eax
mov       dword ptr [rsp+38],1
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9,r12
call      qword ptr [7FFE281FCA08]
jmp       near ptr M01_L12
M01_L28
 
dec       ecx
jmp       near ptr M01_L04
M01_L29
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.FromBase64()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+278]
call      qword ptr [7FFE286DCF30]; DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-78],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       rbx,rcx
test      rbx,rbx
je        near ptr M01_L15
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       edx,[rsi+10]
inc       edx
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       edx,ecx
jge       near ptr M01_L09
mov       [rsi+10],edx
mov       rcx,1307D80CC30
mov       rdi,[rcx]
lea       rdx,[rbx+0C]
mov       [rbp-40],rdx
mov       r14,[rbp-40]
mov       ebx,[rbx+8]
test      ebx,ebx
jle       short M01_L02
M01_L00
 
lea       edx,[rbx-1]
movsxd    rcx,edx
movzx     ecx,word ptr [r14+rcx*2]
cmp       ecx,20
je        short M01_L01
cmp       ecx,0A
je        short M01_L01
cmp       ecx,0D
je        short M01_L01
cmp       ecx,9
jne       short M01_L02
M01_L01
 
mov       ebx,edx
test      ebx,ebx
jg        short M01_L00
M01_L02
 
mov       rdx,r14
movsxd    rcx,ebx
lea       rsi,[rdx+rcx*2]
mov       ecx,ebx
xor       r15d,r15d
cmp       r14,rsi
jae       short M01_L05
nop       dword ptr [rax]
M01_L03
 
movzx     eax,word ptr [rdx]
add       rdx,2
cmp       eax,20
jbe       near ptr M01_L16
cmp       eax,3D
je        near ptr M01_L08
M01_L04
 
cmp       rdx,rsi
jb        short M01_L03
M01_L05
 
test      r15d,r15d
je        short M01_L06
cmp       r15d,1
je        near ptr M01_L17
cmp       r15d,2
jne       near ptr M01_L18
mov       r15d,1
M01_L06
 
mov       edx,ecx
sar       edx,1F
and       edx,3
add       edx,ecx
sar       edx,2
lea       edx,[rdx+rdx*2]
add       edx,r15d
movsxd    rdx,edx
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
test      ebx,ebx
jl        near ptr M01_L19
lea       rcx,[rsi+10]
mov       edx,[rsi+8]
mov       [rbp-68],r14
mov       [rbp-60],ebx
mov       [rbp-78],rcx
mov       [rbp-70],edx
lea       rcx,[rbp-68]
lea       rdx,[rbp-78]
lea       r8,[rbp-48]
call      qword ptr [7FFE28574720]; System.Convert.TryFromBase64Chars(System.ReadOnlySpan`1, System.Span`1, Int32 ByRef)
test      eax,eax
je        near ptr M01_L20
xor       ecx,ecx
mov       [rbp-40],rcx
mov       ebx,[rsi+8]
test      ebx,ebx
je        near ptr M01_L21
mov       [rbp-50],rsi
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
je        near ptr M01_L22
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
jbe       near ptr M01_L29
mov       rsi,[rbp-50]
add       rsi,10
M01_L07
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rdi+18]
mov       r14d,ebx
test      rcx,rcx
je        near ptr M01_L24
mov       rax,offset MT_System.Text.DecoderReplacementFallback
cmp       [rcx],rax
jne       near ptr M01_L24
mov       rcx,[rcx+8]
cmp       dword ptr [rcx+8],1
jne       near ptr M01_L24
jmp       short M01_L10
M01_L08
 
dec       ecx
inc       r15d
jmp       near ptr M01_L04
M01_L09
 
mov       [rsi+10],ecx
jmp       near ptr M01_L15
M01_L10
 
mov       r13d,r14d
cmp       r14d,ebx
jne       near ptr M01_L25
M01_L11
 
test      r13d,r13d
je        short M01_L14
mov       ecx,r13d
call      System.String.FastAllocateString(Int32)
mov       r14,rax
cmp       [r14],r14b
lea       r8,[r14+0C]
mov       [rbp-58],r8
mov       r12,[rbp-58]
test      r12,r12
je        near ptr M01_L26
mov       r8d,ebx
or        r8d,r13d
jl        near ptr M01_L27
cmp       r13d,ebx
mov       r8d,ebx
cmovle    r8d,r13d
mov       rcx,rsi
mov       rdx,r12
call      qword ptr [7FFE2845C660]; System.Text.Ascii.WidenAsciiToUtf16(Byte*, Char*, UIntPtr)
cmp       eax,ebx
jne       near ptr M01_L28
M01_L12
 
xor       eax,eax
mov       [rbp-58],rax
mov       rax,r14
M01_L13
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L14
 
mov       rax,1710F4D0008
jmp       short M01_L13
M01_L15
 
mov       rax,1710F4D0008
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
dec       ecx
jmp       near ptr M01_L04
M01_L17
 
mov       r15d,2
jmp       near ptr M01_L06
M01_L18
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284D74B0]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L19
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L20
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE284D74B0]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L21
 
mov       rax,1710F4D0008
jmp       near ptr M01_L13
M01_L22
 
xor       esi,esi
jmp       near ptr M01_L07
M01_L23
 
mov       ecx,0A
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L24
 
mov       edx,ebx
mov       rcx,rsi
call      qword ptr [7FFE2845C468]; System.Text.Ascii.GetIndexOfFirstNonAsciiByte_Vector(Byte*, UIntPtr)
mov       r14d,eax
mov       r13d,r14d
cmp       r14d,ebx
je        near ptr M01_L11
M01_L25
 
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9d,r13d
call      qword ptr [7FFE281FC990]
add       eax,r13d
mov       r13d,eax
test      r13d,r13d
jge       near ptr M01_L11
call      qword ptr [7FFE281FC7E0]
int       3
M01_L26
 
mov       ecx,0E
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L27
 
mov       ecx,10
mov       edx,0D
call      qword ptr [7FFE2845ED48]
int       3
M01_L28
 
mov       [rsp+20],r13d
mov       [rsp+28],eax
mov       [rsp+30],eax
mov       dword ptr [rsp+38],1
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9,r12
call      qword ptr [7FFE281FCA08]
jmp       near ptr M01_L12
M01_L29
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.FromBase64()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+278]
call      qword ptr [7FFE286FCF30]; DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-78],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       rbx,rcx
test      rbx,rbx
je        near ptr M01_L15
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       edx,[rsi+10]
inc       edx
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       edx,ecx
jge       near ptr M01_L09
mov       [rsi+10],edx
mov       rcx,254C140EC28
mov       rdi,[rcx]
lea       rdx,[rbx+0C]
mov       [rbp-40],rdx
mov       r14,[rbp-40]
mov       ebx,[rbx+8]
test      ebx,ebx
jle       short M01_L02
M01_L00
 
lea       edx,[rbx-1]
movsxd    rcx,edx
movzx     ecx,word ptr [r14+rcx*2]
cmp       ecx,20
je        short M01_L01
cmp       ecx,0A
je        short M01_L01
cmp       ecx,0D
je        short M01_L01
cmp       ecx,9
jne       short M01_L02
M01_L01
 
mov       ebx,edx
test      ebx,ebx
jg        short M01_L00
M01_L02
 
mov       rdx,r14
movsxd    rcx,ebx
lea       rsi,[rdx+rcx*2]
mov       ecx,ebx
xor       r15d,r15d
cmp       r14,rsi
jae       short M01_L05
nop       dword ptr [rax]
M01_L03
 
movzx     eax,word ptr [rdx]
add       rdx,2
cmp       eax,20
jbe       near ptr M01_L16
cmp       eax,3D
je        near ptr M01_L08
M01_L04
 
cmp       rdx,rsi
jb        short M01_L03
M01_L05
 
test      r15d,r15d
je        short M01_L06
cmp       r15d,1
je        near ptr M01_L17
cmp       r15d,2
jne       near ptr M01_L18
mov       r15d,1
M01_L06
 
mov       edx,ecx
sar       edx,1F
and       edx,3
add       edx,ecx
sar       edx,2
lea       edx,[rdx+rdx*2]
add       edx,r15d
movsxd    rdx,edx
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
test      ebx,ebx
jl        near ptr M01_L19
lea       rcx,[rsi+10]
mov       edx,[rsi+8]
mov       [rbp-68],r14
mov       [rbp-60],ebx
mov       [rbp-78],rcx
mov       [rbp-70],edx
lea       rcx,[rbp-68]
lea       rdx,[rbp-78]
lea       r8,[rbp-48]
call      qword ptr [7FFE28594720]; System.Convert.TryFromBase64Chars(System.ReadOnlySpan`1, System.Span`1, Int32 ByRef)
test      eax,eax
je        near ptr M01_L20
xor       ecx,ecx
mov       [rbp-40],rcx
mov       ebx,[rsi+8]
test      ebx,ebx
je        near ptr M01_L21
mov       [rbp-50],rsi
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
je        near ptr M01_L22
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
jbe       near ptr M01_L29
mov       rsi,[rbp-50]
add       rsi,10
M01_L07
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rdi+18]
mov       r14d,ebx
test      rcx,rcx
je        near ptr M01_L24
mov       rax,offset MT_System.Text.DecoderReplacementFallback
cmp       [rcx],rax
jne       near ptr M01_L24
mov       rcx,[rcx+8]
cmp       dword ptr [rcx+8],1
jne       near ptr M01_L24
jmp       short M01_L10
M01_L08
 
dec       ecx
inc       r15d
jmp       near ptr M01_L04
M01_L09
 
mov       [rsi+10],ecx
jmp       near ptr M01_L15
M01_L10
 
mov       r13d,r14d
cmp       r14d,ebx
jne       near ptr M01_L25
M01_L11
 
test      r13d,r13d
je        short M01_L14
mov       ecx,r13d
call      System.String.FastAllocateString(Int32)
mov       r14,rax
cmp       [r14],r14b
lea       r8,[r14+0C]
mov       [rbp-58],r8
mov       r12,[rbp-58]
test      r12,r12
je        near ptr M01_L26
mov       r8d,ebx
or        r8d,r13d
jl        near ptr M01_L27
cmp       r13d,ebx
mov       r8d,ebx
cmovle    r8d,r13d
mov       rcx,rsi
mov       rdx,r12
call      qword ptr [7FFE2847C660]; System.Text.Ascii.WidenAsciiToUtf16(Byte*, Char*, UIntPtr)
cmp       eax,ebx
jne       near ptr M01_L28
M01_L12
 
xor       eax,eax
mov       [rbp-58],rax
mov       rax,r14
M01_L13
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L14
 
mov       rax,295533B0008
jmp       short M01_L13
M01_L15
 
mov       rax,295533B0008
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
dec       ecx
jmp       near ptr M01_L04
M01_L17
 
mov       r15d,2
jmp       near ptr M01_L06
M01_L18
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F44B0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284F74B0]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L19
 
call      qword ptr [7FFE2847E9D0]
int       3
M01_L20
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287F44B0]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE284F74B0]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L21
 
mov       rax,295533B0008
jmp       near ptr M01_L13
M01_L22
 
xor       esi,esi
jmp       near ptr M01_L07
M01_L23
 
mov       ecx,0A
mov       edx,31
call      qword ptr [7FFE2847ED18]
int       3
M01_L24
 
mov       edx,ebx
mov       rcx,rsi
call      qword ptr [7FFE2847C468]; System.Text.Ascii.GetIndexOfFirstNonAsciiByte_Vector(Byte*, UIntPtr)
mov       r14d,eax
mov       r13d,r14d
cmp       r14d,ebx
je        near ptr M01_L11
M01_L25
 
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9d,r13d
call      qword ptr [7FFE2821C990]
add       eax,r13d
mov       r13d,eax
test      r13d,r13d
jge       near ptr M01_L11
call      qword ptr [7FFE2821C7E0]
int       3
M01_L26
 
mov       ecx,0E
mov       edx,31
call      qword ptr [7FFE2847ED18]
int       3
M01_L27
 
mov       ecx,10
mov       edx,0D
call      qword ptr [7FFE2847ED48]
int       3
M01_L28
 
mov       [rsp+20],r13d
mov       [rsp+28],eax
mov       [rsp+30],eax
mov       dword ptr [rsp+38],1
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9,r12
call      qword ptr [7FFE2821CA08]
jmp       near ptr M01_L12
M01_L29
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.FromBase64()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+278]
call      qword ptr [7FFE2870CF30]; DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-78],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       rbx,rcx
test      rbx,rbx
je        near ptr M01_L15
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       edx,[rsi+10]
inc       edx
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       edx,ecx
jge       near ptr M01_L09
mov       [rsi+10],edx
mov       rcx,2421B80CC30
mov       rdi,[rcx]
lea       rdx,[rbx+0C]
mov       [rbp-40],rdx
mov       r14,[rbp-40]
mov       ebx,[rbx+8]
test      ebx,ebx
jle       short M01_L02
M01_L00
 
lea       edx,[rbx-1]
movsxd    rcx,edx
movzx     ecx,word ptr [r14+rcx*2]
cmp       ecx,20
je        short M01_L01
cmp       ecx,0A
je        short M01_L01
cmp       ecx,0D
je        short M01_L01
cmp       ecx,9
jne       short M01_L02
M01_L01
 
mov       ebx,edx
test      ebx,ebx
jg        short M01_L00
M01_L02
 
mov       rdx,r14
movsxd    rcx,ebx
lea       rsi,[rdx+rcx*2]
mov       ecx,ebx
xor       r15d,r15d
cmp       r14,rsi
jae       short M01_L05
nop       dword ptr [rax]
M01_L03
 
movzx     eax,word ptr [rdx]
add       rdx,2
cmp       eax,20
jbe       near ptr M01_L16
cmp       eax,3D
je        near ptr M01_L08
M01_L04
 
cmp       rdx,rsi
jb        short M01_L03
M01_L05
 
test      r15d,r15d
je        short M01_L06
cmp       r15d,1
je        near ptr M01_L17
cmp       r15d,2
jne       near ptr M01_L18
mov       r15d,1
M01_L06
 
mov       edx,ecx
sar       edx,1F
and       edx,3
add       edx,ecx
sar       edx,2
lea       edx,[rdx+rdx*2]
add       edx,r15d
movsxd    rdx,edx
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
test      ebx,ebx
jl        near ptr M01_L19
lea       rcx,[rsi+10]
mov       edx,[rsi+8]
mov       [rbp-68],r14
mov       [rbp-60],ebx
mov       [rbp-78],rcx
mov       [rbp-70],edx
lea       rcx,[rbp-68]
lea       rdx,[rbp-78]
lea       r8,[rbp-48]
call      qword ptr [7FFE285A4720]; System.Convert.TryFromBase64Chars(System.ReadOnlySpan`1, System.Span`1, Int32 ByRef)
test      eax,eax
je        near ptr M01_L20
xor       ecx,ecx
mov       [rbp-40],rcx
mov       ebx,[rsi+8]
test      ebx,ebx
je        near ptr M01_L21
mov       [rbp-50],rsi
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
je        near ptr M01_L22
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
jbe       near ptr M01_L29
mov       rsi,[rbp-50]
add       rsi,10
M01_L07
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rdi+18]
mov       r14d,ebx
test      rcx,rcx
je        near ptr M01_L24
mov       rax,offset MT_System.Text.DecoderReplacementFallback
cmp       [rcx],rax
jne       near ptr M01_L24
mov       rcx,[rcx+8]
cmp       dword ptr [rcx+8],1
jne       near ptr M01_L24
jmp       short M01_L10
M01_L08
 
dec       ecx
inc       r15d
jmp       near ptr M01_L04
M01_L09
 
mov       [rsi+10],ecx
jmp       near ptr M01_L15
M01_L10
 
mov       r13d,r14d
cmp       r14d,ebx
jne       near ptr M01_L25
M01_L11
 
test      r13d,r13d
je        short M01_L14
mov       ecx,r13d
call      System.String.FastAllocateString(Int32)
mov       r14,rax
cmp       [r14],r14b
lea       r8,[r14+0C]
mov       [rbp-58],r8
mov       r12,[rbp-58]
test      r12,r12
je        near ptr M01_L26
mov       r8d,ebx
or        r8d,r13d
jl        near ptr M01_L27
cmp       r13d,ebx
mov       r8d,ebx
cmovle    r8d,r13d
mov       rcx,rsi
mov       rdx,r12
call      qword ptr [7FFE2848C660]; System.Text.Ascii.WidenAsciiToUtf16(Byte*, Char*, UIntPtr)
cmp       eax,ebx
jne       near ptr M01_L28
M01_L12
 
xor       eax,eax
mov       [rbp-58],rax
mov       rax,r14
M01_L13
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L14
 
mov       rax,282AD830008
jmp       short M01_L13
M01_L15
 
mov       rax,282AD830008
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
dec       ecx
jmp       near ptr M01_L04
M01_L17
 
mov       r15d,2
jmp       near ptr M01_L06
M01_L18
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE288044B0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE285074B0]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L19
 
call      qword ptr [7FFE2848E9D0]
int       3
M01_L20
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE288044B0]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE285074B0]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L21
 
mov       rax,282AD830008
jmp       near ptr M01_L13
M01_L22
 
xor       esi,esi
jmp       near ptr M01_L07
M01_L23
 
mov       ecx,0A
mov       edx,31
call      qword ptr [7FFE2848ED18]
int       3
M01_L24
 
mov       edx,ebx
mov       rcx,rsi
call      qword ptr [7FFE2848C468]; System.Text.Ascii.GetIndexOfFirstNonAsciiByte_Vector(Byte*, UIntPtr)
mov       r14d,eax
mov       r13d,r14d
cmp       r14d,ebx
je        near ptr M01_L11
M01_L25
 
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9d,r13d
call      qword ptr [7FFE2822C990]
add       eax,r13d
mov       r13d,eax
test      r13d,r13d
jge       near ptr M01_L11
call      qword ptr [7FFE2822C7E0]
int       3
M01_L26
 
mov       ecx,0E
mov       edx,31
call      qword ptr [7FFE2848ED18]
int       3
M01_L27
 
mov       ecx,10
mov       edx,0D
call      qword ptr [7FFE2848ED48]
int       3
M01_L28
 
mov       [rsp+20],r13d
mov       [rsp+28],eax
mov       [rsp+30],eax
mov       dword ptr [rsp+38],1
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9,r12
call      qword ptr [7FFE2822CA08]
jmp       near ptr M01_L12
M01_L29
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.FromBase64()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+278]
call      qword ptr [7FFE286FCF30]; DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-78],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       rbx,rcx
test      rbx,rbx
je        near ptr M01_L15
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       edx,[rsi+10]
inc       edx
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       edx,ecx
jge       near ptr M01_L09
mov       [rsi+10],edx
mov       rcx,1761A80CC30
mov       rdi,[rcx]
lea       rdx,[rbx+0C]
mov       [rbp-40],rdx
mov       r14,[rbp-40]
mov       ebx,[rbx+8]
test      ebx,ebx
jle       short M01_L02
M01_L00
 
lea       edx,[rbx-1]
movsxd    rcx,edx
movzx     ecx,word ptr [r14+rcx*2]
cmp       ecx,20
je        short M01_L01
cmp       ecx,0A
je        short M01_L01
cmp       ecx,0D
je        short M01_L01
cmp       ecx,9
jne       short M01_L02
M01_L01
 
mov       ebx,edx
test      ebx,ebx
jg        short M01_L00
M01_L02
 
mov       rdx,r14
movsxd    rcx,ebx
lea       rsi,[rdx+rcx*2]
mov       ecx,ebx
xor       r15d,r15d
cmp       r14,rsi
jae       short M01_L05
nop       dword ptr [rax]
M01_L03
 
movzx     eax,word ptr [rdx]
add       rdx,2
cmp       eax,20
jbe       near ptr M01_L16
cmp       eax,3D
je        near ptr M01_L08
M01_L04
 
cmp       rdx,rsi
jb        short M01_L03
M01_L05
 
test      r15d,r15d
je        short M01_L06
cmp       r15d,1
je        near ptr M01_L17
cmp       r15d,2
jne       near ptr M01_L18
mov       r15d,1
M01_L06
 
mov       edx,ecx
sar       edx,1F
and       edx,3
add       edx,ecx
sar       edx,2
lea       edx,[rdx+rdx*2]
add       edx,r15d
movsxd    rdx,edx
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
test      ebx,ebx
jl        near ptr M01_L19
lea       rcx,[rsi+10]
mov       edx,[rsi+8]
mov       [rbp-68],r14
mov       [rbp-60],ebx
mov       [rbp-78],rcx
mov       [rbp-70],edx
lea       rcx,[rbp-68]
lea       rdx,[rbp-78]
lea       r8,[rbp-48]
call      qword ptr [7FFE28594720]; System.Convert.TryFromBase64Chars(System.ReadOnlySpan`1, System.Span`1, Int32 ByRef)
test      eax,eax
je        near ptr M01_L20
xor       ecx,ecx
mov       [rbp-40],rcx
mov       ebx,[rsi+8]
test      ebx,ebx
je        near ptr M01_L21
mov       [rbp-50],rsi
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
je        near ptr M01_L22
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
jbe       near ptr M01_L29
mov       rsi,[rbp-50]
add       rsi,10
M01_L07
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rdi+18]
mov       r14d,ebx
test      rcx,rcx
je        near ptr M01_L24
mov       rax,offset MT_System.Text.DecoderReplacementFallback
cmp       [rcx],rax
jne       near ptr M01_L24
mov       rcx,[rcx+8]
cmp       dword ptr [rcx+8],1
jne       near ptr M01_L24
jmp       short M01_L10
M01_L08
 
dec       ecx
inc       r15d
jmp       near ptr M01_L04
M01_L09
 
mov       [rsi+10],ecx
jmp       near ptr M01_L15
M01_L10
 
mov       r13d,r14d
cmp       r14d,ebx
jne       near ptr M01_L25
M01_L11
 
test      r13d,r13d
je        short M01_L14
mov       ecx,r13d
call      System.String.FastAllocateString(Int32)
mov       r14,rax
cmp       [r14],r14b
lea       r8,[r14+0C]
mov       [rbp-58],r8
mov       r12,[rbp-58]
test      r12,r12
je        near ptr M01_L26
mov       r8d,ebx
or        r8d,r13d
jl        near ptr M01_L27
cmp       r13d,ebx
mov       r8d,ebx
cmovle    r8d,r13d
mov       rcx,rsi
mov       rdx,r12
call      qword ptr [7FFE2847C660]; System.Text.Ascii.WidenAsciiToUtf16(Byte*, Char*, UIntPtr)
cmp       eax,ebx
jne       near ptr M01_L28
M01_L12
 
xor       eax,eax
mov       [rbp-58],rax
mov       rax,r14
M01_L13
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L14
 
mov       rax,1B6A8720008
jmp       short M01_L13
M01_L15
 
mov       rax,1B6A8720008
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
dec       ecx
jmp       near ptr M01_L04
M01_L17
 
mov       r15d,2
jmp       near ptr M01_L06
M01_L18
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287F44B0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284F74B0]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L19
 
call      qword ptr [7FFE2847E9D0]
int       3
M01_L20
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287F44B0]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE284F74B0]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L21
 
mov       rax,1B6A8720008
jmp       near ptr M01_L13
M01_L22
 
xor       esi,esi
jmp       near ptr M01_L07
M01_L23
 
mov       ecx,0A
mov       edx,31
call      qword ptr [7FFE2847ED18]
int       3
M01_L24
 
mov       edx,ebx
mov       rcx,rsi
call      qword ptr [7FFE2847C468]; System.Text.Ascii.GetIndexOfFirstNonAsciiByte_Vector(Byte*, UIntPtr)
mov       r14d,eax
mov       r13d,r14d
cmp       r14d,ebx
je        near ptr M01_L11
M01_L25
 
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9d,r13d
call      qword ptr [7FFE2821C990]
add       eax,r13d
mov       r13d,eax
test      r13d,r13d
jge       near ptr M01_L11
call      qword ptr [7FFE2821C7E0]
int       3
M01_L26
 
mov       ecx,0E
mov       edx,31
call      qword ptr [7FFE2847ED18]
int       3
M01_L27
 
mov       ecx,10
mov       edx,0D
call      qword ptr [7FFE2847ED48]
int       3
M01_L28
 
mov       [rsp+20],r13d
mov       [rsp+28],eax
mov       [rsp+30],eax
mov       dword ptr [rsp+38],1
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9,r12
call      qword ptr [7FFE2821CA08]
jmp       near ptr M01_L12
M01_L29
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.FromBase64()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+278]
call      qword ptr [7FFE286DCF30]; DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-78],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       rbx,rcx
test      rbx,rbx
je        near ptr M01_L15
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       edx,[rsi+10]
inc       edx
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       edx,ecx
jge       near ptr M01_L09
mov       [rsi+10],edx
mov       rcx,2664500EC28
mov       rdi,[rcx]
lea       rdx,[rbx+0C]
mov       [rbp-40],rdx
mov       r14,[rbp-40]
mov       ebx,[rbx+8]
test      ebx,ebx
jle       short M01_L02
M01_L00
 
lea       edx,[rbx-1]
movsxd    rcx,edx
movzx     ecx,word ptr [r14+rcx*2]
cmp       ecx,20
je        short M01_L01
cmp       ecx,0A
je        short M01_L01
cmp       ecx,0D
je        short M01_L01
cmp       ecx,9
jne       short M01_L02
M01_L01
 
mov       ebx,edx
test      ebx,ebx
jg        short M01_L00
M01_L02
 
mov       rdx,r14
movsxd    rcx,ebx
lea       rsi,[rdx+rcx*2]
mov       ecx,ebx
xor       r15d,r15d
cmp       r14,rsi
jae       short M01_L05
nop       dword ptr [rax]
M01_L03
 
movzx     eax,word ptr [rdx]
add       rdx,2
cmp       eax,20
jbe       near ptr M01_L16
cmp       eax,3D
je        near ptr M01_L08
M01_L04
 
cmp       rdx,rsi
jb        short M01_L03
M01_L05
 
test      r15d,r15d
je        short M01_L06
cmp       r15d,1
je        near ptr M01_L17
cmp       r15d,2
jne       near ptr M01_L18
mov       r15d,1
M01_L06
 
mov       edx,ecx
sar       edx,1F
and       edx,3
add       edx,ecx
sar       edx,2
lea       edx,[rdx+rdx*2]
add       edx,r15d
movsxd    rdx,edx
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
test      ebx,ebx
jl        near ptr M01_L19
lea       rcx,[rsi+10]
mov       edx,[rsi+8]
mov       [rbp-68],r14
mov       [rbp-60],ebx
mov       [rbp-78],rcx
mov       [rbp-70],edx
lea       rcx,[rbp-68]
lea       rdx,[rbp-78]
lea       r8,[rbp-48]
call      qword ptr [7FFE28574720]; System.Convert.TryFromBase64Chars(System.ReadOnlySpan`1, System.Span`1, Int32 ByRef)
test      eax,eax
je        near ptr M01_L20
xor       ecx,ecx
mov       [rbp-40],rcx
mov       ebx,[rsi+8]
test      ebx,ebx
je        near ptr M01_L21
mov       [rbp-50],rsi
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
je        near ptr M01_L22
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
jbe       near ptr M01_L29
mov       rsi,[rbp-50]
add       rsi,10
M01_L07
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rdi+18]
mov       r14d,ebx
test      rcx,rcx
je        near ptr M01_L24
mov       rax,offset MT_System.Text.DecoderReplacementFallback
cmp       [rcx],rax
jne       near ptr M01_L24
mov       rcx,[rcx+8]
cmp       dword ptr [rcx+8],1
jne       near ptr M01_L24
jmp       short M01_L10
M01_L08
 
dec       ecx
inc       r15d
jmp       near ptr M01_L04
M01_L09
 
mov       [rsi+10],ecx
jmp       near ptr M01_L15
M01_L10
 
mov       r13d,r14d
cmp       r14d,ebx
jne       near ptr M01_L25
M01_L11
 
test      r13d,r13d
je        short M01_L14
mov       ecx,r13d
call      System.String.FastAllocateString(Int32)
mov       r14,rax
cmp       [r14],r14b
lea       r8,[r14+0C]
mov       [rbp-58],r8
mov       r12,[rbp-58]
test      r12,r12
je        near ptr M01_L26
mov       r8d,ebx
or        r8d,r13d
jl        near ptr M01_L27
cmp       r13d,ebx
mov       r8d,ebx
cmovle    r8d,r13d
mov       rcx,rsi
mov       rdx,r12
call      qword ptr [7FFE2845C660]; System.Text.Ascii.WidenAsciiToUtf16(Byte*, Char*, UIntPtr)
cmp       eax,ebx
jne       near ptr M01_L28
M01_L12
 
xor       eax,eax
mov       [rbp-58],rax
mov       rax,r14
M01_L13
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L14
 
mov       rax,2A6D6FF0008
jmp       short M01_L13
M01_L15
 
mov       rax,2A6D6FF0008
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
dec       ecx
jmp       near ptr M01_L04
M01_L17
 
mov       r15d,2
jmp       near ptr M01_L06
M01_L18
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284D74B0]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L19
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L20
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE284D74B0]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L21
 
mov       rax,2A6D6FF0008
jmp       near ptr M01_L13
M01_L22
 
xor       esi,esi
jmp       near ptr M01_L07
M01_L23
 
mov       ecx,0A
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L24
 
mov       edx,ebx
mov       rcx,rsi
call      qword ptr [7FFE2845C468]; System.Text.Ascii.GetIndexOfFirstNonAsciiByte_Vector(Byte*, UIntPtr)
mov       r14d,eax
mov       r13d,r14d
cmp       r14d,ebx
je        near ptr M01_L11
M01_L25
 
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9d,r13d
call      qword ptr [7FFE281FC990]
add       eax,r13d
mov       r13d,eax
test      r13d,r13d
jge       near ptr M01_L11
call      qword ptr [7FFE281FC7E0]
int       3
M01_L26
 
mov       ecx,0E
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L27
 
mov       ecx,10
mov       edx,0D
call      qword ptr [7FFE2845ED48]
int       3
M01_L28
 
mov       [rsp+20],r13d
mov       [rsp+28],eax
mov       [rsp+30],eax
mov       dword ptr [rsp+38],1
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9,r12
call      qword ptr [7FFE281FCA08]
jmp       near ptr M01_L12
M01_L29
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.FromBase64()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+278]
call      qword ptr [7FFE286DCF30]; DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.StringExtensions.FromBase64(System.String)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-78],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       rbx,rcx
test      rbx,rbx
je        near ptr M01_L15
mov       rcx,offset MT_System.CharEnumerator
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       dword ptr [rsi+10],0FFFFFFFF
lea       rcx,[rsi+8]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
mov       edx,[rsi+10]
inc       edx
mov       rcx,[rsi+8]
mov       ecx,[rcx+8]
cmp       edx,ecx
jge       near ptr M01_L09
mov       [rsi+10],edx
mov       rcx,25EFCC0EC28
mov       rdi,[rcx]
lea       rdx,[rbx+0C]
mov       [rbp-40],rdx
mov       r14,[rbp-40]
mov       ebx,[rbx+8]
test      ebx,ebx
jle       short M01_L02
M01_L00
 
lea       edx,[rbx-1]
movsxd    rcx,edx
movzx     ecx,word ptr [r14+rcx*2]
cmp       ecx,20
je        short M01_L01
cmp       ecx,0A
je        short M01_L01
cmp       ecx,0D
je        short M01_L01
cmp       ecx,9
jne       short M01_L02
M01_L01
 
mov       ebx,edx
test      ebx,ebx
jg        short M01_L00
M01_L02
 
mov       rdx,r14
movsxd    rcx,ebx
lea       rsi,[rdx+rcx*2]
mov       ecx,ebx
xor       r15d,r15d
cmp       r14,rsi
jae       short M01_L05
nop       dword ptr [rax]
M01_L03
 
movzx     eax,word ptr [rdx]
add       rdx,2
cmp       eax,20
jbe       near ptr M01_L16
cmp       eax,3D
je        near ptr M01_L08
M01_L04
 
cmp       rdx,rsi
jb        short M01_L03
M01_L05
 
test      r15d,r15d
je        short M01_L06
cmp       r15d,1
je        near ptr M01_L17
cmp       r15d,2
jne       near ptr M01_L18
mov       r15d,1
M01_L06
 
mov       edx,ecx
sar       edx,1F
and       edx,3
add       edx,ecx
sar       edx,2
lea       edx,[rdx+rdx*2]
add       edx,r15d
movsxd    rdx,edx
mov       rcx,offset MT_System.Byte[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
test      ebx,ebx
jl        near ptr M01_L19
lea       rcx,[rsi+10]
mov       edx,[rsi+8]
mov       [rbp-68],r14
mov       [rbp-60],ebx
mov       [rbp-78],rcx
mov       [rbp-70],edx
lea       rcx,[rbp-68]
lea       rdx,[rbp-78]
lea       r8,[rbp-48]
call      qword ptr [7FFE28574720]; System.Convert.TryFromBase64Chars(System.ReadOnlySpan`1, System.Span`1, Int32 ByRef)
test      eax,eax
je        near ptr M01_L20
xor       ecx,ecx
mov       [rbp-40],rcx
mov       ebx,[rsi+8]
test      ebx,ebx
je        near ptr M01_L21
mov       [rbp-50],rsi
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
je        near ptr M01_L22
mov       rcx,[rbp-50]
cmp       dword ptr [rcx+8],0
jbe       near ptr M01_L29
mov       rsi,[rbp-50]
add       rsi,10
M01_L07
 
test      rsi,rsi
je        near ptr M01_L23
mov       rcx,[rdi+18]
mov       r14d,ebx
test      rcx,rcx
je        near ptr M01_L24
mov       rax,offset MT_System.Text.DecoderReplacementFallback
cmp       [rcx],rax
jne       near ptr M01_L24
mov       rcx,[rcx+8]
cmp       dword ptr [rcx+8],1
jne       near ptr M01_L24
jmp       short M01_L10
M01_L08
 
dec       ecx
inc       r15d
jmp       near ptr M01_L04
M01_L09
 
mov       [rsi+10],ecx
jmp       near ptr M01_L15
M01_L10
 
mov       r13d,r14d
cmp       r14d,ebx
jne       near ptr M01_L25
M01_L11
 
test      r13d,r13d
je        short M01_L14
mov       ecx,r13d
call      System.String.FastAllocateString(Int32)
mov       r14,rax
cmp       [r14],r14b
lea       r8,[r14+0C]
mov       [rbp-58],r8
mov       r12,[rbp-58]
test      r12,r12
je        near ptr M01_L26
mov       r8d,ebx
or        r8d,r13d
jl        near ptr M01_L27
cmp       r13d,ebx
mov       r8d,ebx
cmovle    r8d,r13d
mov       rcx,rsi
mov       rdx,r12
call      qword ptr [7FFE2845C660]; System.Text.Ascii.WidenAsciiToUtf16(Byte*, Char*, UIntPtr)
cmp       eax,ebx
jne       near ptr M01_L28
M01_L12
 
xor       eax,eax
mov       [rbp-58],rax
mov       rax,r14
M01_L13
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L14
 
mov       rax,29F8ABC0008
jmp       short M01_L13
M01_L15
 
mov       rax,29F8ABC0008
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L16
 
dec       ecx
jmp       near ptr M01_L04
M01_L17
 
mov       r15d,2
jmp       near ptr M01_L06
M01_L18
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE284D74B0]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M01_L19
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L20
 
mov       rcx,offset MT_System.FormatException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
call      qword ptr [7FFE287D44B0]
mov       rdx,rax
mov       rcx,r13
call      qword ptr [7FFE284D74B0]
mov       rcx,r13
call      CORINFO_HELP_THROW
M01_L21
 
mov       rax,29F8ABC0008
jmp       near ptr M01_L13
M01_L22
 
xor       esi,esi
jmp       near ptr M01_L07
M01_L23
 
mov       ecx,0A
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L24
 
mov       edx,ebx
mov       rcx,rsi
call      qword ptr [7FFE2845C468]; System.Text.Ascii.GetIndexOfFirstNonAsciiByte_Vector(Byte*, UIntPtr)
mov       r14d,eax
mov       r13d,r14d
cmp       r14d,ebx
je        near ptr M01_L11
M01_L25
 
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9d,r13d
call      qword ptr [7FFE281FC990]
add       eax,r13d
mov       r13d,eax
test      r13d,r13d
jge       near ptr M01_L11
call      qword ptr [7FFE281FC7E0]
int       3
M01_L26
 
mov       ecx,0E
mov       edx,31
call      qword ptr [7FFE2845ED18]
int       3
M01_L27
 
mov       ecx,10
mov       edx,0D
call      qword ptr [7FFE2845ED48]
int       3
M01_L28
 
mov       [rsp+20],r13d
mov       [rsp+28],eax
mov       [rsp+30],eax
mov       dword ptr [rsp+38],1
mov       rcx,rdi
mov       rdx,rsi
mov       r8d,ebx
mov       r9,r12
call      qword ptr [7FFE281FCA08]
jmp       near ptr M01_L12
M01_L29
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.RemoveCRLF01()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,40
xor       eax,eax
mov       [rsp+38],rax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
test      rcx,rcx
je        near ptr M00_L08
mov       [rsp+38],rcx
mov       rcx,1CB8C40EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M00_L00
mov       rcx,rsi
call      qword ptr [7FFE28706A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M00_L00
 
mov       rcx,rsi
call      qword ptr [7FFE28706328]; System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
mov       r8,rax
test      r8,r8
jne       short M00_L02
M00_L01
 
lea       rdx,[rsp+38]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28B86F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
test      rax,rax
je        short M00_L03
mov       ecx,[rax+8]
xor       edx,edx
test      ecx,ecx
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      ecx,ecx
jne       short M00_L04
jmp       short M00_L04
M00_L02
 
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M00_L09
jmp       short M00_L01
M00_L03
 
xor       edx,edx
M00_L04
 
test      edx,edx
je        near ptr M00_L10
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       rdx,rax
mov       rcx,offset MD_DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.String, System.Private.CoreLib]](System.String)
call      qword ptr [7FFE28BE6B20]; DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
test      rax,rax
je        near ptr M00_L12
mov       rcx,1CB8C40D958
mov       rsi,[rcx]
mov       rdi,rax
mov       rbp,rdi
test      byte ptr [rsi+40],40
je        near ptr M00_L07
mov       rbp,rdi
mov       r14d,[rbp+8]
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE2862D830]; System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
mov       rcx,rax
mov       r8,[rsi+20]
mov       [rsp+20],r8
mov       r8d,[rsi+40]
mov       [rsp+28],r8d
mov       r8,[rsi+18]
mov       r9d,[rsi+44]
mov       rdx,20C1E510008
call      qword ptr [7FFE28CA7660]; System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
mov       rcx,rax
mov       [rsp+20],r14d
mov       rdx,rsi
mov       r8,rbp
mov       r9d,0FFFFFFFF
cmp       [rcx],ecx
call      qword ptr [7FFE28CA76C0]; System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M00_L06
 
mov       [rsp+30],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,40
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L07
 
xor       r14d,r14d
jmp       short M00_L05
M00_L08
 
call      qword ptr [7FFE28765230]
mov       ecx,76B
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1464
mov       rdx,7FFE28575108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28765020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L09
 
mov       rdx,rax
call      qword ptr [7FFE281E43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M00_L10
 
call      qword ptr [7FFE287652D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L11
call      qword ptr [7FFE28765020]
mov       rbx,rax
M00_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,20C1E5241F0
mov       r8,rbx
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L12
 
xor       eax,eax
jmp       near ptr M00_L06
 
System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L00
 
push      rbp
sub       rsp,80
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L01
 
vmovdqa   xmmword ptr [rax+rbp],xmm4
vmovdqa   xmmword ptr [rbp+rax+10],xmm4
vmovdqa   xmmword ptr [rbp+rax+20],xmm4
add       rax,30
jne       short M01_L01
mov       [rbp+10],rcx
call      qword ptr [7FFE28707750]; System.Text.Json.JsonSerializer.get_IsReflectionEnabledByDefault()
test      eax,eax
je        near ptr M01_L05
call      qword ptr [7FFE2876D908]; System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.get_DefaultInstance()
mov       [rbp-18],rax
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L02
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.JsonSerializerContext
call      qword ptr [7FFE281E4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       [rbp-28],rax
cmp       qword ptr [rbp-28],0
jne       short M01_L03
jmp       near ptr M01_L09
M01_L02
 
mov       rcx,[rbp+10]
lea       rcx,[rcx+20]
mov       rdx,[rbp-18]
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M01_L09
M01_L03
 
call      qword ptr [7FFE28707150]
test      eax,eax
je        near ptr M01_L09
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-10],xmm0
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
xor       r8d,r8d
call      qword ptr [7FFE2876DB18]
mov       rdx,[rbp-28]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r8d,1
call      qword ptr [7FFE2876DB18]
mov       rdx,[rbp-18]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rbp-48]
lea       r8,[rbp-10]
mov       rdx,offset MD_.InlineArrayAsReadOnlySpan[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r9d,2
call      qword ptr [7FFE2876DB48]
mov       rcx,[rbp+10]
lea       rcx,[rcx+60]
mov       [rbp-60],rcx
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-58],xmm0
lea       rcx,[rbp-58]
call      qword ptr [7FFE2876DB90]
mov       rcx,[rbp-60]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp+10]
mov       rcx,[rcx+8]
mov       [rbp-20],rcx
cmp       qword ptr [rbp-20],0
je        near ptr M01_L09
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
cmp       rax,[rbp+10]
je        short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
movzx     ecx,byte ptr [rax+9E]
test      ecx,ecx
jne       short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28706A18]
jmp       short M01_L09
M01_L04
 
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876DA28]
jmp       short M01_L09
M01_L05
 
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L06
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.EmptyJsonTypeInfoResolver
call      qword ptr [7FFE281E4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        short M01_L07
M01_L06
 
mov       dword ptr [rbp-34],1
jmp       short M01_L08
M01_L07
 
xor       eax,eax
mov       [rbp-34],eax
M01_L08
 
cmp       dword ptr [rbp-34],0
je        short M01_L09
call      qword ptr [7FFE2870D098]
M01_L09
 
mov       rax,[rbp+10]
mov       byte ptr [rax+9D],1
mov       rax,[rbp+10]
mov       byte ptr [rax+9E],1
add       rsp,80
pop       rbp
ret
 
System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
push      rsi
push      rbx
sub       rsp,38
mov       rbx,rcx
mov       rax,[rbx+18]
test      rax,rax
je        short M02_L01
M02_L00
 
add       rsp,38
pop       rbx
pop       rsi
ret
M02_L01
 
mov       byte ptr [rsp+30],1
mov       byte ptr [rsp+31],1
xor       ecx,ecx
mov       [rsp+20],ecx
mov       [rsp+28],ecx
mov       rcx,rbx
movzx     r9d,word ptr [rsp+30]
mov       rdx,20C1E512D10
mov       r8d,1
call      qword ptr [7FFE287062C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rsi,rax
lea       rcx,[rbx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rsi
jmp       short M02_L00
 
System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
vzeroupper
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-98],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-90],xmm4
vmovdqa   xmmword ptr [rbp-80],xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-0A0],rsp
mov       rsi,rdx
mov       rbx,r8
mov       rdi,[rbx+0B0]
lea       rdx,[rbp-48]
mov       rcx,rdi
cmp       [rcx],ecx
call      qword ptr [7FFE28706A90]; System.Text.Json.JsonSerializerOptions.GetWriterOptions()
mov       edi,[rdi+7C]
mov       rcx,gs:[58]
mov       rcx,[rcx+38]
cmp       dword ptr [rcx+190],3
jl        near ptr M03_L11
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
je        near ptr M03_L11
mov       rax,[rcx]
add       rax,10
mov       r14,[rax]
test      r14,r14
je        near ptr M03_L12
M03_L00
 
mov       ecx,[r14+18]
lea       edx,[rcx+1]
mov       [r14+18],edx
test      ecx,ecx
jne       near ptr M03_L15
mov       rcx,[r14+8]
mov       [rbp-90],rcx
mov       r14,[r14+10]
mov       rcx,[rbp-90]
cmp       [rcx],cl
mov       rcx,1CB8C401F20
mov       rcx,[rcx]
mov       edx,edi
call      qword ptr [7FFE289E0B38]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Rent(Int32)
mov       rcx,[rbp-90]
lea       rcx,[rcx+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp-90]
xor       edx,edx
mov       [rcx+20],edx
lea       rcx,[r14+8]
mov       rdx,[rbp-90]
call      CORINFO_HELP_ASSIGN_REF
mov       edi,[rbp-3C]
lea       rcx,[r14+68]
mov       rdx,[rbp-48]
call      CORINFO_HELP_ASSIGN_REF
mov       ecx,[rbp-40]
mov       [r14+70],ecx
mov       ecx,[rbp-3C]
mov       [r14+74],ecx
mov       ecx,9
mov       edx,20
test      byte ptr [r14+74],8
cmove     ecx,edx
mov       [r14+3B],cl
mov       ecx,edi
and       ecx,7F0
sar       ecx,4
je        short M03_L01
xor       edx,edx
cmp       ecx,2
cmovne    edx,ecx
jmp       short M03_L02
M03_L01
 
mov       edx,2
M03_L02
 
mov       [r14+2C],edx
test      dil,4
jne       near ptr M03_L13
mov       rdi,20C1E511C08
M03_L03
 
mov       ecx,[rdi+8]
mov       [r14+30],ecx
cmp       dword ptr [r14+70],0
je        near ptr M03_L14
M03_L04
 
mov       [rbp-88],r14
mov       rcx,rbx
mov       rdx,r14
mov       r8,rsi
xor       r9d,r9d
call      qword ptr [7FFE2876D0B0]; System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.__Canon, System.Private.CoreLib]].Serialize(System.Text.Json.Utf8JsonWriter, System.__Canon ByRef, System.Object)
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rax,[rbp-90]
mov       r15d,[rax+20]
test      rcx,rcx
je        short M03_L08
cmp       [rcx+8],r15d
jb        short M03_L07
M03_L05
 
xor       r13d,r13d
xor       r12d,r12d
test      rcx,rcx
je        short M03_L10
mov       rax,[rcx]
test      dword ptr [rax],80000000
je        short M03_L09
lea       r13,[rcx+10]
mov       r12d,[rcx+8]
M03_L06
 
cmp       r15d,r12d
ja        short M03_L07
mov       r12d,r15d
jmp       short M03_L10
M03_L07
 
call      qword ptr [7FFE2844E9D0]
int       3
M03_L08
 
test      r15d,r15d
jne       short M03_L07
xor       ecx,ecx
xor       r15d,r15d
jmp       short M03_L05
M03_L09
 
lea       rdx,[rbp-58]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
mov       r13,[rbp-58]
mov       r12d,[rbp-50]
jmp       short M03_L06
M03_L10
 
mov       rcx,r13
mov       [rbp-80],rcx
mov       [rbp-78],r12d
lea       rcx,[rbp-80]
call      qword ptr [7FFE2876E5E0]; System.Text.Json.JsonReaderHelper.TranscodeHelper(System.ReadOnlySpan`1)
mov       [rbp-98],rax
mov       rcx,rsp
call      M03_L16
nop
mov       rax,[rbp-98]
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M03_L11
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       r14,[rax]
test      r14,r14
jne       near ptr M03_L00
M03_L12
 
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriterCache+ThreadLocalState
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
call      qword ptr [7FFE28B87D98]; System.Text.Json.Utf8JsonWriterCache+ThreadLocalState..ctor()
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       rcx,rax
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M03_L00
M03_L13
 
mov       rcx,7FFE287163A8
mov       edx,69
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,1CB8C40F6D8
mov       rdi,[rcx]
jmp       near ptr M03_L03
M03_L14
 
lea       rcx,[r14+68]
mov       edx,3E8
call      qword ptr [7FFE28AB72E8]; System.Text.Json.JsonWriterOptions.set_MaxDepth(Int32)
jmp       near ptr M03_L04
M03_L15
 
mov       rcx,offset MT_System.Text.Json.PooledByteBufferWriter
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       edx,edi
call      qword ptr [7FFE28B379D8]
mov       [rbp-90],r14
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriter
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rdx,r14
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,r13
lea       r8,[rbp-70]
call      qword ptr [7FFE28AB7468]
mov       r14,r13
jmp       near ptr M03_L04
M03_L16
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0C0]
mov       r14,[rbp-90]
mov       rcx,gs:[58]
mov       rcx,[rcx+38]
cmp       dword ptr [rcx+190],3
jl        short M03_L17
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
jne       short M03_L18
M03_L17
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp       short M03_L19
M03_L18
 
mov       rax,[rcx]
add       rax,10
M03_L19
 
mov       r15,[rax]
xor       ecx,ecx
mov       r12,[rbp-88]
mov       [r12+34],ecx
mov       [r12+20],rcx
mov       [r12+40],rcx
mov       [r12+48],rcx
mov       byte ptr [r12+38],0
mov       byte ptr [r12+3A],0
mov       byte ptr [r12+39],0
mov       [r12+28],ecx
mov       [r12+50],rcx
mov       [r12+58],rcx
mov       [r12+60],rcx
mov       [r12+10],rcx
mov       [r12+18],rcx
mov       [r12+8],rcx
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rdx,[rbp-90]
mov       r10d,[rdx+20]
test      rcx,rcx
jne       short M03_L20
test      r10d,r10d
jne       short M03_L21
xor       ecx,ecx
xor       r10d,r10d
jmp       short M03_L23
M03_L20
 
cmp       [rcx+8],r10d
jae       short M03_L22
M03_L21
 
call      qword ptr [7FFE2844E9D0]
int       3
M03_L22
 
add       rcx,10
M03_L23
 
mov       edx,r10d
mov       [rbp-60],rdx
test      rdx,rdx
je        short M03_L25
cmp       rdx,300
ja        short M03_L24
xor       edx,edx
mov       r8d,[rbp-60]
call      CORINFO_HELP_MEMSET
jmp       short M03_L25
M03_L24
 
mov       rdx,[rbp-60]
call      qword ptr [7FFE28295BA8]; System.Buffer._ZeroMemory(Byte ByRef, UIntPtr)
M03_L25
 
xor       ecx,ecx
mov       [r14+20],ecx
mov       rdx,[r14+10]
mov       [r14+10],rcx
mov       rcx,1CB8C401F20
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289E0B40]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Return(Byte[], Boolean)
dec       dword ptr [r15+18]
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Trim()
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,[rbx+8]
test      esi,esi
je        short M04_L03
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M04_L00
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L01
M04_L00
 
call      qword ptr [7FFE28D05FC8]
test      eax,eax
jne       short M04_L04
M04_L01
 
dec       esi
mov       ecx,esi
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M04_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L03
M04_L02
 
call      qword ptr [7FFE28D05FC8]
test      eax,eax
jne       short M04_L04
M04_L03
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rsi
ret
M04_L04
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
nop
add       rsp,28
pop       rbx
pop       rsi
ret
 
DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
push      rsi
push      rbx
sub       rsp,58
vzeroupper
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       [rsp+50],rcx
mov       rsi,rcx
mov       rbx,rdx
mov       rcx,rbx
test      rcx,rcx
je        short M05_L00
mov       eax,[rcx+8]
xor       edx,edx
test      eax,eax
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      eax,eax
jne       short M05_L01
jmp       short M05_L01
M05_L00
 
xor       edx,edx
M05_L01
 
test      edx,edx
je        near ptr M05_L10
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       rbx,rax
mov       rcx,[rsi+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M05_L03
M05_L02
 
mov       r8,1CB8C40DA78
mov       r8,[r8]
mov       rdx,rbx
call      qword ptr [7FFE28BE6B80]; System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String, System.Text.Json.JsonSerializerOptions)
test      rax,rax
je        near ptr M05_L12
add       rsp,58
pop       rbx
pop       rsi
ret
M05_L03
 
mov       rcx,rsi
mov       rdx,7FFE28BD95B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M05_L02
M05_L04
 
lea       rcx,[rsp+28]
mov       rdx,20C1E528068
call      qword ptr [7FFE283D58F0]
M05_L05
 
mov       rcx,[rsi+10]
mov       rcx,[rcx]
call      CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
mov       r8,rax
lea       rcx,[rsp+28]
mov       rdx,offset MD_System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.Type, System.Private.CoreLib]](System.Type)
call      qword ptr [7FFE2862E100]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.__Canon, System.Private.CoreLib]](System.__Canon)
mov       ebx,[rsp+38]
cmp       ebx,[rsp+48]
jbe       short M05_L07
M05_L06
 
call      qword ptr [7FFE2844E9D0]
int       3
M05_L07
 
mov       rcx,[rsp+40]
mov       edx,ebx
lea       rcx,[rcx+rdx*2]
mov       edx,[rsp+48]
sub       edx,ebx
cmp       edx,1
jb        short M05_L08
mov       rdx,20C1E510C54
movzx     eax,word ptr [rdx]
mov       [rcx],ax
mov       ecx,[rsp+38]
inc       ecx
mov       [rsp+38],ecx
jmp       short M05_L09
M05_L08
 
lea       rcx,[rsp+28]
mov       rdx,20C1E510C48
call      qword ptr [7FFE283D58F0]
M05_L09
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rsp+28]
call      qword ptr [7FFE283D5740]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear()
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28476718]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L10
 
call      qword ptr [7FFE287652D8]
mov       rsi,rax
test      rsi,rsi
jne       short M05_L11
call      qword ptr [7FFE28765020]
mov       rsi,rax
M05_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,20C1E5241F0
mov       r8,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L12
 
lea       rcx,[rsp+28]
mov       edx,2A
mov       r8d,1
call      qword ptr [7FFE283D56B0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(Int32, Int32)
mov       ecx,[rsp+38]
cmp       ecx,[rsp+48]
ja        near ptr M05_L06
mov       rdx,[rsp+40]
mov       eax,ecx
lea       rdx,[rdx+rax*2]
mov       eax,[rsp+48]
sub       eax,ecx
cmp       eax,29
jb        near ptr M05_L04
mov       rcx,20C1E528074
vmovdqu   ymm0,ymmword ptr [rcx]
vmovdqu   ymm1,ymmword ptr [rcx+20]
vmovdqu   ymm2,ymmword ptr [rcx+32]
vmovdqu   ymmword ptr [rdx],ymm0
vmovdqu   ymmword ptr [rdx+20],ymm1
vmovdqu   ymmword ptr [rdx+32],ymm2
mov       ecx,[rsp+38]
add       ecx,29
mov       [rsp+38],ecx
jmp       near ptr M05_L05
 
System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rax,[rbx+30]
test      rax,rax
je        short M06_L01
M06_L00
 
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M06_L01
 
lea       rsi,[rbx+30]
mov       rcx,offset MT_System.WeakReference`1[[System.Text.RegularExpressions.RegexReplacement, System.Text.RegularExpressions]]
call      CORINFO_HELP_NEWFAST
mov       rdi,rax
mov       rcx,rdi
xor       edx,edx
xor       r8d,r8d
call      qword ptr [7FFE2829D098]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].Create(System.__Canon, Boolean)
mov       rcx,rsi
mov       rdx,rdi
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
jne       short M06_L00
mov       rax,[rbx+30]
jmp       short M06_L00
 
System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
mov       rbx,rcx
mov       rsi,rdx
mov       rdi,r8
mov       ebp,r9d
mov       rax,[rbx+8]
and       rax,0FFFFFFFFFFFFFFFE
je        short M07_L03
test      al,2
jne       short M07_L04
mov       r14,[rax]
M07_L00
 
test      r14,r14
je        short M07_L02
mov       r15,[r14+18]
cmp       [r15],r15b
cmp       r15,rsi
jne       short M07_L05
M07_L01
 
mov       rax,r14
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M07_L02
 
mov       r13,[rsp+90]
mov       [rsp+20],r13
mov       rcx,rsi
mov       edx,[rsp+98]
mov       r8,rdi
mov       r9d,ebp
call      qword ptr [7FFE28CAC048]; System.Text.RegularExpressions.RegexParser.ParseReplacement(System.String, System.Text.RegularExpressions.RegexOptions, System.Collections.Hashtable, Int32, System.Collections.Hashtable)
mov       r14,rax
mov       rcx,rbx
mov       rdx,r14
call      qword ptr [7FFE2829D0B0]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].SetTarget(System.__Canon)
jmp       short M07_L01
M07_L03
 
xor       r14d,r14d
jmp       short M07_L00
M07_L04
 
and       rax,0FFFFFFFFFFFFFFFC
mov       rcx,[rax]
cmp       [rcx],ecx
call      qword ptr [7FFE28E2F810]
mov       r14,rax
jmp       short M07_L00
M07_L05
 
test      rsi,rsi
je        short M07_L02
mov       r8d,[r15+8]
cmp       r8d,[rsi+8]
jne       short M07_L02
lea       rcx,[r15+0C]
mov       r8d,[r15+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE28295068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
test      eax,eax
jne       near ptr M07_L01
jmp       short M07_L02
 
System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
sub       rsp,28
mov       eax,[rsp+50]
cmp       r9d,0FFFFFFFF
jl        short M08_L01
cmp       [r8+8],eax
jb        short M08_L02
test      r9d,r9d
je        short M08_L03
test      byte ptr [rdx+40],40
je        short M08_L04
M08_L00
 
mov       [rsp+50],eax
add       rsp,28
jmp       qword ptr [7FFE28CA76F0]; System.Text.RegularExpressions.RegexReplacement.ReplaceNonSimpleText(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M08_L01
 
mov       ecx,3
mov       edx,1
call      qword ptr [7FFE28E2F738]
int       3
M08_L02
 
mov       ecx,0E
xor       edx,edx
call      qword ptr [7FFE28E2F738]
int       3
M08_L03
 
mov       rax,r8
add       rsp,28
ret
M08_L04
 
cmp       byte ptr [rcx+20],0
jne       short M08_L00
mov       r10,[rcx+10]
cmp       dword ptr [r10+8],0
jne       short M08_L05
mov       rcx,rdx
mov       r10,20C1E510008
jmp       short M08_L06
M08_L05
 
mov       r10,[rcx+8]
cmp       dword ptr [r10+8],0
jbe       short M08_L07
mov       r10,[r10+10]
mov       rcx,rdx
M08_L06
 
mov       [rsp+50],eax
mov       rdx,r8
mov       r8,r10
add       rsp,28
jmp       qword ptr [7FFE28CA76D8]
M08_L07
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M09_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M09_L02
test      rbx,rbx
je        short M09_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M09_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M09_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L01
 
call      qword ptr [7FFE2844EF40]
int       3
M09_L02
 
test      rbx,rbx
je        short M09_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M09_L04
M09_L03
 
mov       rax,20C1E510008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 
System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rsi,rcx
mov       rbx,rdx
mov       rdi,[rbx]
M10_L00
 
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L02
M10_L01
 
mov       rcx,7FFE28D18124
call      CORINFO_HELP_COUNTPROFILE32
mov       rax,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M10_L02
 
test      rdi,rdi
je        near ptr M10_L08
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L03
mov       rcx,7FFE28D18120
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L03
 
test      rdi,rdi
je        short M10_L04
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L05
mov       rcx,7FFE28D18118
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L04
 
mov       rcx,7FFE28D1811C
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
M10_L05
 
test      rdi,rdi
je        short M10_L07
mov       rdi,[rdi+10]
cmp       rdi,rsi
je        short M10_L06
test      rdi,rdi
je        short M10_L09
mov       rcx,7FFE28D1810C
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L00
M10_L06
 
mov       rcx,7FFE28D18110
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L01
M10_L07
 
mov       rcx,7FFE28D18114
call      CORINFO_HELP_COUNTPROFILE32
M10_L08
 
mov       rcx,7FFE28D18128
call      CORINFO_HELP_COUNTPROFILE32
mov       rcx,rsi
mov       rdx,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281E43A8]
M10_L09
 
mov       rcx,7FFE28D18108
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.RemoveCRLF01()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,40
xor       eax,eax
mov       [rsp+38],rax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
test      rcx,rcx
je        near ptr M00_L07
mov       [rsp+38],rcx
mov       rcx,21DF600EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M00_L00
mov       rcx,rsi
call      qword ptr [7FFE28716A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M00_L00
 
mov       rcx,rsi
call      qword ptr [7FFE28716328]; System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
mov       r8,rax
test      r8,r8
jne       short M00_L02
M00_L01
 
lea       rdx,[rsp+38]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28B96F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
test      rax,rax
je        short M00_L03
mov       ecx,[rax+8]
xor       edx,edx
test      ecx,ecx
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      ecx,ecx
jne       short M00_L04
jmp       short M00_L04
M00_L02
 
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M00_L08
jmp       short M00_L01
M00_L03
 
xor       edx,edx
M00_L04
 
test      edx,edx
je        near ptr M00_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE281F7318]; System.String.Trim()
mov       rdx,rax
mov       rcx,offset MD_DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.String, System.Private.CoreLib]](System.String)
call      qword ptr [7FFE28BF6B20]; DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
test      rax,rax
je        near ptr M00_L11
mov       rcx,21DF600D958
mov       rsi,[rcx]
mov       rdi,rax
mov       rbp,rdi
test      byte ptr [rsi+40],40
je        near ptr M00_L12
mov       r14d,[rdi+8]
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE2863D830]; System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
mov       rcx,rax
mov       r8,[rsi+20]
mov       [rsp+20],r8
mov       r8d,[rsi+40]
mov       [rsp+28],r8d
mov       r8,[rsi+18]
mov       r9d,[rsi+44]
mov       rdx,25E87E70008
call      qword ptr [7FFE28CB7660]; System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
mov       rcx,rax
mov       [rsp+20],r14d
mov       rdx,rsi
mov       r8,rdi
mov       r9d,0FFFFFFFF
cmp       [rcx],ecx
call      qword ptr [7FFE28CB76C0]; System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M00_L06
 
mov       [rsp+30],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,40
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L07
 
call      qword ptr [7FFE28775230]
mov       ecx,76B
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbp,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbp
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L08
 
mov       rdx,rax
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M00_L09
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L10
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L10
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,25E87E841F0
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L11
 
xor       eax,eax
jmp       near ptr M00_L06
M00_L12
 
mov       rdi,rbp
xor       r14d,r14d
jmp       near ptr M00_L05
 
System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L00
 
push      rbp
sub       rsp,80
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L01
 
vmovdqa   xmmword ptr [rax+rbp],xmm4
vmovdqa   xmmword ptr [rbp+rax+10],xmm4
vmovdqa   xmmword ptr [rbp+rax+20],xmm4
add       rax,30
jne       short M01_L01
mov       [rbp+10],rcx
call      qword ptr [7FFE28717750]; System.Text.Json.JsonSerializer.get_IsReflectionEnabledByDefault()
test      eax,eax
je        near ptr M01_L05
call      qword ptr [7FFE2877D908]; System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.get_DefaultInstance()
mov       [rbp-18],rax
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L02
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.JsonSerializerContext
call      qword ptr [7FFE281F4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       [rbp-28],rax
cmp       qword ptr [rbp-28],0
jne       short M01_L03
jmp       near ptr M01_L09
M01_L02
 
mov       rcx,[rbp+10]
lea       rcx,[rcx+20]
mov       rdx,[rbp-18]
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M01_L09
M01_L03
 
call      qword ptr [7FFE28717150]
test      eax,eax
je        near ptr M01_L09
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-10],xmm0
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
xor       r8d,r8d
call      qword ptr [7FFE2877DB18]
mov       rdx,[rbp-28]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r8d,1
call      qword ptr [7FFE2877DB18]
mov       rdx,[rbp-18]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rbp-48]
lea       r8,[rbp-10]
mov       rdx,offset MD_.InlineArrayAsReadOnlySpan[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r9d,2
call      qword ptr [7FFE2877DB48]
mov       rcx,[rbp+10]
lea       rcx,[rcx+60]
mov       [rbp-60],rcx
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-58],xmm0
lea       rcx,[rbp-58]
call      qword ptr [7FFE2877DB90]
mov       rcx,[rbp-60]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp+10]
mov       rcx,[rcx+8]
mov       [rbp-20],rcx
cmp       qword ptr [rbp-20],0
je        near ptr M01_L09
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
cmp       rax,[rbp+10]
je        short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
movzx     ecx,byte ptr [rax+9E]
test      ecx,ecx
jne       short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28716A18]
jmp       short M01_L09
M01_L04
 
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877DA28]
jmp       short M01_L09
M01_L05
 
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L06
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.EmptyJsonTypeInfoResolver
call      qword ptr [7FFE281F4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        short M01_L07
M01_L06
 
mov       dword ptr [rbp-34],1
jmp       short M01_L08
M01_L07
 
xor       eax,eax
mov       [rbp-34],eax
M01_L08
 
cmp       dword ptr [rbp-34],0
je        short M01_L09
call      qword ptr [7FFE2871D098]
M01_L09
 
mov       rax,[rbp+10]
mov       byte ptr [rax+9D],1
mov       rax,[rbp+10]
mov       byte ptr [rax+9E],1
add       rsp,80
pop       rbp
ret
 
System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
push      rsi
push      rbx
sub       rsp,38
mov       rbx,rcx
mov       rax,[rbx+18]
test      rax,rax
je        short M02_L01
M02_L00
 
add       rsp,38
pop       rbx
pop       rsi
ret
M02_L01
 
mov       byte ptr [rsp+30],1
mov       byte ptr [rsp+31],1
xor       ecx,ecx
mov       [rsp+20],ecx
mov       [rsp+28],ecx
mov       rcx,rbx
movzx     r9d,word ptr [rsp+30]
mov       rdx,25E87E72D10
mov       r8d,1
call      qword ptr [7FFE287162C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rsi,rax
lea       rcx,[rbx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rsi
jmp       short M02_L00
 
System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
vzeroupper
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-98],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-90],xmm4
vmovdqa   xmmword ptr [rbp-80],xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-0A0],rsp
mov       rsi,rdx
mov       rbx,r8
mov       rdi,[rbx+0B0]
lea       rdx,[rbp-48]
mov       rcx,rdi
cmp       [rcx],ecx
call      qword ptr [7FFE28716A90]; System.Text.Json.JsonSerializerOptions.GetWriterOptions()
mov       edi,[rdi+7C]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        near ptr M03_L11
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
je        near ptr M03_L11
mov       rax,[rcx]
add       rax,10
mov       r14,[rax]
test      r14,r14
je        near ptr M03_L12
M03_L00
 
mov       ecx,[r14+18]
lea       edx,[rcx+1]
mov       [r14+18],edx
test      ecx,ecx
jne       near ptr M03_L15
mov       rcx,[r14+8]
mov       [rbp-90],rcx
mov       r14,[r14+10]
mov       rcx,[rbp-90]
cmp       [rcx],cl
mov       rcx,21DF6001F20
mov       rcx,[rcx]
mov       edx,edi
call      qword ptr [7FFE289F0B38]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Rent(Int32)
mov       rcx,[rbp-90]
lea       rcx,[rcx+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp-90]
xor       edx,edx
mov       [rcx+20],edx
lea       rcx,[r14+8]
mov       rdx,[rbp-90]
call      CORINFO_HELP_ASSIGN_REF
mov       edi,[rbp-3C]
lea       rcx,[r14+68]
mov       rdx,[rbp-48]
call      CORINFO_HELP_ASSIGN_REF
mov       ecx,[rbp-40]
mov       [r14+70],ecx
mov       ecx,[rbp-3C]
mov       [r14+74],ecx
mov       ecx,9
mov       edx,20
test      byte ptr [r14+74],8
cmove     ecx,edx
mov       [r14+3B],cl
mov       ecx,edi
and       ecx,7F0
sar       ecx,4
je        short M03_L01
xor       edx,edx
cmp       ecx,2
cmovne    edx,ecx
jmp       short M03_L02
M03_L01
 
mov       edx,2
M03_L02
 
mov       [r14+2C],edx
test      dil,4
jne       near ptr M03_L13
mov       rdi,25E87E71C08
M03_L03
 
mov       ecx,[rdi+8]
mov       [r14+30],ecx
cmp       dword ptr [r14+70],0
je        near ptr M03_L14
M03_L04
 
mov       [rbp-88],r14
mov       rcx,rbx
mov       rdx,r14
mov       r8,rsi
xor       r9d,r9d
call      qword ptr [7FFE2877D0B0]; System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.__Canon, System.Private.CoreLib]].Serialize(System.Text.Json.Utf8JsonWriter, System.__Canon ByRef, System.Object)
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rax,[rbp-90]
mov       r15d,[rax+20]
test      rcx,rcx
je        short M03_L08
cmp       [rcx+8],r15d
jb        short M03_L07
M03_L05
 
xor       r13d,r13d
xor       r12d,r12d
test      rcx,rcx
je        short M03_L10
mov       rax,[rcx]
test      dword ptr [rax],80000000
je        short M03_L09
lea       r13,[rcx+10]
mov       r12d,[rcx+8]
M03_L06
 
mov       ecx,r15d
mov       eax,r12d
cmp       rcx,rax
ja        short M03_L07
mov       r12d,r15d
jmp       short M03_L10
M03_L07
 
call      qword ptr [7FFE2845E9D0]
int       3
M03_L08
 
test      r15d,r15d
jne       short M03_L07
xor       ecx,ecx
xor       r15d,r15d
jmp       short M03_L05
M03_L09
 
lea       rdx,[rbp-58]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
mov       r13,[rbp-58]
mov       r12d,[rbp-50]
jmp       short M03_L06
M03_L10
 
mov       rcx,r13
mov       [rbp-80],rcx
mov       [rbp-78],r12d
lea       rcx,[rbp-80]
call      qword ptr [7FFE2877E5E0]; System.Text.Json.JsonReaderHelper.TranscodeHelper(System.ReadOnlySpan`1)
mov       [rbp-98],rax
mov       rcx,rsp
call      M03_L16
nop
mov       rax,[rbp-98]
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M03_L11
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       r14,[rax]
test      r14,r14
jne       near ptr M03_L00
M03_L12
 
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriterCache+ThreadLocalState
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
call      qword ptr [7FFE28B97D98]; System.Text.Json.Utf8JsonWriterCache+ThreadLocalState..ctor()
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       rcx,rax
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M03_L00
M03_L13
 
mov       rcx,7FFE287263A8
mov       edx,69
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,21DF600F6D8
mov       rdi,[rcx]
jmp       near ptr M03_L03
M03_L14
 
lea       rcx,[r14+68]
mov       edx,3E8
call      qword ptr [7FFE28AC72E8]; System.Text.Json.JsonWriterOptions.set_MaxDepth(Int32)
jmp       near ptr M03_L04
M03_L15
 
mov       rcx,offset MT_System.Text.Json.PooledByteBufferWriter
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       edx,edi
call      qword ptr [7FFE28B479D8]
mov       [rbp-90],r14
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriter
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rdx,r14
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,r13
lea       r8,[rbp-70]
call      qword ptr [7FFE28AC7468]
mov       r14,r13
jmp       near ptr M03_L04
M03_L16
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0C0]
mov       r14,[rbp-90]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        short M03_L17
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
jne       short M03_L18
M03_L17
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp       short M03_L19
M03_L18
 
mov       rax,[rcx]
add       rax,10
M03_L19
 
mov       r15,[rax]
xor       ecx,ecx
mov       r12,[rbp-88]
mov       [r12+34],ecx
mov       [r12+20],rcx
mov       [r12+40],rcx
mov       [r12+48],rcx
mov       byte ptr [r12+38],0
mov       byte ptr [r12+3A],0
mov       byte ptr [r12+39],0
mov       [r12+28],ecx
mov       [r12+50],rcx
mov       [r12+58],rcx
mov       [r12+60],rcx
mov       [r12+10],rcx
mov       [r12+18],rcx
mov       [r12+8],rcx
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rdx,[rbp-90]
mov       r10d,[rdx+20]
test      rcx,rcx
jne       short M03_L20
test      r10d,r10d
jne       short M03_L21
xor       ecx,ecx
xor       r10d,r10d
jmp       short M03_L23
M03_L20
 
cmp       [rcx+8],r10d
jae       short M03_L22
M03_L21
 
call      qword ptr [7FFE2845E9D0]
int       3
M03_L22
 
add       rcx,10
M03_L23
 
mov       edx,r10d
mov       [rbp-60],rdx
test      rdx,rdx
je        short M03_L25
cmp       rdx,300
ja        short M03_L24
xor       edx,edx
mov       r8d,[rbp-60]
call      CORINFO_HELP_MEMSET
jmp       short M03_L25
M03_L24
 
mov       rdx,[rbp-60]
call      qword ptr [7FFE282A5BA8]; System.Buffer._ZeroMemory(Byte ByRef, UIntPtr)
M03_L25
 
xor       ecx,ecx
mov       [r14+20],ecx
mov       rdx,[r14+10]
mov       [r14+10],rcx
mov       rcx,21DF6001F20
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F0B40]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Return(Byte[], Boolean)
dec       dword ptr [r15+18]
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Trim()
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,[rbx+8]
test      esi,esi
je        short M04_L03
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M04_L00
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L01
M04_L00
 
call      qword ptr [7FFE28D1C630]
test      eax,eax
jne       short M04_L04
M04_L01
 
dec       esi
mov       ecx,esi
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M04_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L03
M04_L02
 
call      qword ptr [7FFE28D1C630]
test      eax,eax
jne       short M04_L04
M04_L03
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rsi
ret
M04_L04
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
nop
add       rsp,28
pop       rbx
pop       rsi
ret
 
DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
push      rsi
push      rbx
sub       rsp,58
vzeroupper
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       [rsp+50],rcx
mov       rsi,rcx
mov       rbx,rdx
mov       rcx,rbx
test      rcx,rcx
je        short M05_L00
mov       eax,[rcx+8]
xor       edx,edx
test      eax,eax
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      eax,eax
jne       short M05_L01
jmp       short M05_L01
M05_L00
 
xor       edx,edx
M05_L01
 
test      edx,edx
je        near ptr M05_L10
cmp       [rcx],ecx
call      qword ptr [7FFE281F7318]; System.String.Trim()
mov       rbx,rax
mov       rcx,[rsi+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M05_L03
M05_L02
 
mov       r8,21DF600DA78
mov       r8,[r8]
mov       rdx,rbx
call      qword ptr [7FFE28BF6B80]; System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String, System.Text.Json.JsonSerializerOptions)
test      rax,rax
je        near ptr M05_L12
add       rsp,58
pop       rbx
pop       rsi
ret
M05_L03
 
mov       rcx,rsi
mov       rdx,7FFE28BE9600
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M05_L02
M05_L04
 
lea       rcx,[rsp+28]
mov       rdx,25E87E88068
call      qword ptr [7FFE283E58F0]
M05_L05
 
mov       rcx,[rsi+10]
mov       rcx,[rcx]
call      CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
mov       r8,rax
lea       rcx,[rsp+28]
mov       rdx,offset MD_System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.Type, System.Private.CoreLib]](System.Type)
call      qword ptr [7FFE2863E100]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.__Canon, System.Private.CoreLib]](System.__Canon)
mov       ebx,[rsp+38]
cmp       ebx,[rsp+48]
jbe       short M05_L07
M05_L06
 
call      qword ptr [7FFE2845E9D0]
int       3
M05_L07
 
mov       rcx,[rsp+40]
mov       edx,ebx
lea       rcx,[rcx+rdx*2]
mov       edx,[rsp+48]
sub       edx,ebx
cmp       edx,1
jb        short M05_L08
mov       rdx,25E87E70C54
movzx     eax,word ptr [rdx]
mov       [rcx],ax
mov       ecx,[rsp+38]
inc       ecx
mov       [rsp+38],ecx
jmp       short M05_L09
M05_L08
 
lea       rcx,[rsp+28]
mov       rdx,25E87E70C48
call      qword ptr [7FFE283E58F0]
M05_L09
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rsp+28]
call      qword ptr [7FFE283E5740]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear()
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28486718]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L10
 
call      qword ptr [7FFE287752D8]
mov       rsi,rax
test      rsi,rsi
jne       short M05_L11
call      qword ptr [7FFE28775020]
mov       rsi,rax
M05_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,25E87E841F0
mov       r8,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L12
 
lea       rcx,[rsp+28]
mov       edx,2A
mov       r8d,1
call      qword ptr [7FFE283E56B0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(Int32, Int32)
mov       ecx,[rsp+38]
cmp       ecx,[rsp+48]
ja        near ptr M05_L06
mov       rdx,[rsp+40]
mov       eax,ecx
lea       rdx,[rdx+rax*2]
mov       eax,[rsp+48]
sub       eax,ecx
cmp       eax,29
jb        near ptr M05_L04
mov       rcx,25E87E88074
vmovdqu   ymm0,ymmword ptr [rcx]
vmovdqu   ymm1,ymmword ptr [rcx+20]
vmovdqu   ymm2,ymmword ptr [rcx+32]
vmovdqu   ymmword ptr [rdx],ymm0
vmovdqu   ymmword ptr [rdx+20],ymm1
vmovdqu   ymmword ptr [rdx+32],ymm2
mov       ecx,[rsp+38]
add       ecx,29
mov       [rsp+38],ecx
jmp       near ptr M05_L05
 
System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rax,[rbx+30]
test      rax,rax
je        short M06_L01
M06_L00
 
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M06_L01
 
lea       rsi,[rbx+30]
mov       rcx,offset MT_System.WeakReference`1[[System.Text.RegularExpressions.RegexReplacement, System.Text.RegularExpressions]]
call      CORINFO_HELP_NEWFAST
mov       rdi,rax
mov       rcx,rdi
xor       edx,edx
xor       r8d,r8d
call      qword ptr [7FFE282AD098]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].Create(System.__Canon, Boolean)
mov       rcx,rsi
mov       rdx,rdi
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
jne       short M06_L00
mov       rax,[rbx+30]
jmp       short M06_L00
 
System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
mov       rbx,rcx
mov       rsi,rdx
mov       rdi,r8
mov       ebp,r9d
mov       rax,[rbx+8]
and       rax,0FFFFFFFFFFFFFFFE
je        short M07_L03
test      al,2
jne       short M07_L04
mov       r14,[rax]
M07_L00
 
test      r14,r14
je        short M07_L02
mov       r15,[r14+18]
cmp       [r15],r15b
cmp       r15,rsi
jne       short M07_L05
M07_L01
 
mov       rax,r14
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M07_L02
 
mov       r13,[rsp+90]
mov       [rsp+20],r13
mov       rcx,rsi
mov       edx,[rsp+98]
mov       r8,rdi
mov       r9d,ebp
call      qword ptr [7FFE28CBC048]; System.Text.RegularExpressions.RegexParser.ParseReplacement(System.String, System.Text.RegularExpressions.RegexOptions, System.Collections.Hashtable, Int32, System.Collections.Hashtable)
mov       r14,rax
mov       rcx,rbx
mov       rdx,r14
call      qword ptr [7FFE282AD0B0]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].SetTarget(System.__Canon)
jmp       short M07_L01
M07_L03
 
xor       r14d,r14d
jmp       short M07_L00
M07_L04
 
and       rax,0FFFFFFFFFFFFFFFC
mov       rcx,[rax]
cmp       [rcx],ecx
call      qword ptr [7FFE28E4F360]
mov       r14,rax
jmp       short M07_L00
M07_L05
 
test      rsi,rsi
je        short M07_L02
mov       r8d,[r15+8]
cmp       r8d,[rsi+8]
jne       short M07_L02
lea       rcx,[r15+0C]
mov       r8d,[r15+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282A5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
test      eax,eax
jne       near ptr M07_L01
jmp       short M07_L02
 
System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
sub       rsp,28
mov       eax,[rsp+50]
cmp       r9d,0FFFFFFFF
jl        short M08_L01
cmp       [r8+8],eax
jb        short M08_L02
test      r9d,r9d
je        short M08_L03
test      byte ptr [rdx+40],40
je        short M08_L04
M08_L00
 
mov       [rsp+50],eax
add       rsp,28
jmp       qword ptr [7FFE28CB76F0]; System.Text.RegularExpressions.RegexReplacement.ReplaceNonSimpleText(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M08_L01
 
mov       ecx,3
mov       edx,1
call      qword ptr [7FFE28E4F288]
int       3
M08_L02
 
mov       ecx,0E
xor       edx,edx
call      qword ptr [7FFE28E4F288]
int       3
M08_L03
 
mov       rax,r8
add       rsp,28
ret
M08_L04
 
cmp       byte ptr [rcx+20],0
jne       short M08_L00
mov       r10,[rcx+10]
cmp       dword ptr [r10+8],0
jne       short M08_L05
mov       rcx,rdx
mov       r10,25E87E70008
jmp       short M08_L06
M08_L05
 
mov       r10,[rcx+8]
cmp       dword ptr [r10+8],0
jbe       short M08_L07
mov       r10,[r10+10]
mov       rcx,rdx
M08_L06
 
mov       [rsp+50],eax
mov       rdx,r8
mov       r8,r10
add       rsp,28
jmp       qword ptr [7FFE28CB76D8]
M08_L07
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M09_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M09_L02
test      rbx,rbx
je        short M09_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M09_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M09_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE282A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE282A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L01
 
call      qword ptr [7FFE2845EF40]
int       3
M09_L02
 
test      rbx,rbx
je        short M09_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M09_L04
M09_L03
 
mov       rax,25E87E70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 
System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rsi,rcx
mov       rbx,rdx
mov       rdi,[rbx]
M10_L00
 
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L02
M10_L01
 
mov       rcx,7FFE28D2E4E4
call      CORINFO_HELP_COUNTPROFILE32
mov       rax,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M10_L02
 
test      rdi,rdi
je        near ptr M10_L08
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L03
mov       rcx,7FFE28D2E4E0
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L03
 
test      rdi,rdi
je        short M10_L04
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L05
mov       rcx,7FFE28D2E4D8
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L04
 
mov       rcx,7FFE28D2E4DC
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
M10_L05
 
test      rdi,rdi
je        short M10_L07
mov       rdi,[rdi+10]
cmp       rdi,rsi
je        short M10_L06
test      rdi,rdi
je        short M10_L09
mov       rcx,7FFE28D2E4CC
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L00
M10_L06
 
mov       rcx,7FFE28D2E4D0
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L01
M10_L07
 
mov       rcx,7FFE28D2E4D4
call      CORINFO_HELP_COUNTPROFILE32
M10_L08
 
mov       rcx,7FFE28D2E4E8
call      CORINFO_HELP_COUNTPROFILE32
mov       rcx,rsi
mov       rdx,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281F43A8]
M10_L09
 
mov       rcx,7FFE28D2E4C8
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.RemoveCRLF01()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,40
xor       eax,eax
mov       [rsp+38],rax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
test      rcx,rcx
je        near ptr M00_L07
mov       [rsp+38],rcx
mov       rcx,1BFF4C0EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M00_L00
mov       rcx,rsi
call      qword ptr [7FFE28716A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M00_L00
 
mov       rcx,rsi
call      qword ptr [7FFE28716328]; System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
mov       r8,rax
test      r8,r8
jne       short M00_L02
M00_L01
 
lea       rdx,[rsp+38]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28B96F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
test      rax,rax
je        short M00_L03
mov       ecx,[rax+8]
xor       edx,edx
test      ecx,ecx
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      ecx,ecx
jne       short M00_L04
jmp       short M00_L04
M00_L02
 
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M00_L08
jmp       short M00_L01
M00_L03
 
xor       edx,edx
M00_L04
 
test      edx,edx
je        near ptr M00_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE281F7318]; System.String.Trim()
mov       rdx,rax
mov       rcx,offset MD_DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.String, System.Private.CoreLib]](System.String)
call      qword ptr [7FFE28BF6B20]; DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
test      rax,rax
je        near ptr M00_L11
mov       rcx,1BFF4C0D958
mov       rsi,[rcx]
mov       rdi,rax
mov       rbp,rdi
test      byte ptr [rsi+40],40
je        near ptr M00_L12
mov       r14d,[rdi+8]
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE2863D830]; System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
mov       rcx,rax
mov       r8,[rsi+20]
mov       [rsp+20],r8
mov       r8d,[rsi+40]
mov       [rsp+28],r8d
mov       r8,[rsi+18]
mov       r9d,[rsi+44]
mov       rdx,20086B70008
call      qword ptr [7FFE28CB7660]; System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
mov       rcx,rax
mov       [rsp+20],r14d
mov       rdx,rsi
mov       r8,rdi
mov       r9d,0FFFFFFFF
cmp       [rcx],ecx
call      qword ptr [7FFE28CB76C0]; System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M00_L06
 
mov       [rsp+30],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,40
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L07
 
call      qword ptr [7FFE28775230]
mov       ecx,76B
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rbp,rax
mov       ecx,1464
mov       rdx,7FFE28585108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbp
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE286F3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE281F6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28775020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L08
 
mov       rdx,rax
call      qword ptr [7FFE281F43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M00_L09
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L10
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L10
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,20086B841F0
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L11
 
xor       eax,eax
jmp       near ptr M00_L06
M00_L12
 
mov       rdi,rbp
xor       r14d,r14d
jmp       near ptr M00_L05
 
System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L00
 
push      rbp
sub       rsp,80
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L01
 
vmovdqa   xmmword ptr [rax+rbp],xmm4
vmovdqa   xmmword ptr [rbp+rax+10],xmm4
vmovdqa   xmmword ptr [rbp+rax+20],xmm4
add       rax,30
jne       short M01_L01
mov       [rbp+10],rcx
call      qword ptr [7FFE28717750]; System.Text.Json.JsonSerializer.get_IsReflectionEnabledByDefault()
test      eax,eax
je        near ptr M01_L05
call      qword ptr [7FFE2877D908]; System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.get_DefaultInstance()
mov       [rbp-18],rax
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L02
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.JsonSerializerContext
call      qword ptr [7FFE281F4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       [rbp-28],rax
cmp       qword ptr [rbp-28],0
jne       short M01_L03
jmp       near ptr M01_L09
M01_L02
 
mov       rcx,[rbp+10]
lea       rcx,[rcx+20]
mov       rdx,[rbp-18]
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M01_L09
M01_L03
 
call      qword ptr [7FFE28717150]
test      eax,eax
je        near ptr M01_L09
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-10],xmm0
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
xor       r8d,r8d
call      qword ptr [7FFE2877DB18]
mov       rdx,[rbp-28]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r8d,1
call      qword ptr [7FFE2877DB18]
mov       rdx,[rbp-18]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rbp-48]
lea       r8,[rbp-10]
mov       rdx,offset MD_.InlineArrayAsReadOnlySpan[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r9d,2
call      qword ptr [7FFE2877DB48]
mov       rcx,[rbp+10]
lea       rcx,[rcx+60]
mov       [rbp-60],rcx
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-58],xmm0
lea       rcx,[rbp-58]
call      qword ptr [7FFE2877DB90]
mov       rcx,[rbp-60]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp+10]
mov       rcx,[rcx+8]
mov       [rbp-20],rcx
cmp       qword ptr [rbp-20],0
je        near ptr M01_L09
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
cmp       rax,[rbp+10]
je        short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
movzx     ecx,byte ptr [rax+9E]
test      ecx,ecx
jne       short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28716A18]
jmp       short M01_L09
M01_L04
 
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877DA28]
jmp       short M01_L09
M01_L05
 
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L06
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.EmptyJsonTypeInfoResolver
call      qword ptr [7FFE281F4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        short M01_L07
M01_L06
 
mov       dword ptr [rbp-34],1
jmp       short M01_L08
M01_L07
 
xor       eax,eax
mov       [rbp-34],eax
M01_L08
 
cmp       dword ptr [rbp-34],0
je        short M01_L09
call      qword ptr [7FFE2871D098]
M01_L09
 
mov       rax,[rbp+10]
mov       byte ptr [rax+9D],1
mov       rax,[rbp+10]
mov       byte ptr [rax+9E],1
add       rsp,80
pop       rbp
ret
 
System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
push      rsi
push      rbx
sub       rsp,38
mov       rbx,rcx
mov       rax,[rbx+18]
test      rax,rax
je        short M02_L01
M02_L00
 
add       rsp,38
pop       rbx
pop       rsi
ret
M02_L01
 
mov       byte ptr [rsp+30],1
mov       byte ptr [rsp+31],1
xor       ecx,ecx
mov       [rsp+20],ecx
mov       [rsp+28],ecx
mov       rcx,rbx
movzx     r9d,word ptr [rsp+30]
mov       rdx,20086B72D10
mov       r8d,1
call      qword ptr [7FFE287162C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rsi,rax
lea       rcx,[rbx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rsi
jmp       short M02_L00
 
System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
vzeroupper
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-98],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-90],xmm4
vmovdqa   xmmword ptr [rbp-80],xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-0A0],rsp
mov       rsi,rdx
mov       rbx,r8
mov       rdi,[rbx+0B0]
lea       rdx,[rbp-48]
mov       rcx,rdi
cmp       [rcx],ecx
call      qword ptr [7FFE28716A90]; System.Text.Json.JsonSerializerOptions.GetWriterOptions()
mov       edi,[rdi+7C]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        near ptr M03_L11
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
je        near ptr M03_L11
mov       rax,[rcx]
add       rax,10
mov       r14,[rax]
test      r14,r14
je        near ptr M03_L12
M03_L00
 
mov       ecx,[r14+18]
lea       edx,[rcx+1]
mov       [r14+18],edx
test      ecx,ecx
jne       near ptr M03_L15
mov       rcx,[r14+8]
mov       [rbp-90],rcx
mov       r14,[r14+10]
mov       rcx,[rbp-90]
cmp       [rcx],cl
mov       rcx,1BFF4C01F20
mov       rcx,[rcx]
mov       edx,edi
call      qword ptr [7FFE289F0B38]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Rent(Int32)
mov       rcx,[rbp-90]
lea       rcx,[rcx+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp-90]
xor       edx,edx
mov       [rcx+20],edx
lea       rcx,[r14+8]
mov       rdx,[rbp-90]
call      CORINFO_HELP_ASSIGN_REF
mov       edi,[rbp-3C]
lea       rcx,[r14+68]
mov       rdx,[rbp-48]
call      CORINFO_HELP_ASSIGN_REF
mov       ecx,[rbp-40]
mov       [r14+70],ecx
mov       ecx,[rbp-3C]
mov       [r14+74],ecx
mov       ecx,9
mov       edx,20
test      byte ptr [r14+74],8
cmove     ecx,edx
mov       [r14+3B],cl
mov       ecx,edi
and       ecx,7F0
sar       ecx,4
je        short M03_L01
xor       edx,edx
cmp       ecx,2
cmovne    edx,ecx
jmp       short M03_L02
M03_L01
 
mov       edx,2
M03_L02
 
mov       [r14+2C],edx
test      dil,4
jne       near ptr M03_L13
mov       rdi,20086B71C08
M03_L03
 
mov       ecx,[rdi+8]
mov       [r14+30],ecx
cmp       dword ptr [r14+70],0
je        near ptr M03_L14
M03_L04
 
mov       [rbp-88],r14
mov       rcx,rbx
mov       rdx,r14
mov       r8,rsi
xor       r9d,r9d
call      qword ptr [7FFE2877D0B0]; System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.__Canon, System.Private.CoreLib]].Serialize(System.Text.Json.Utf8JsonWriter, System.__Canon ByRef, System.Object)
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rax,[rbp-90]
mov       r15d,[rax+20]
test      rcx,rcx
je        short M03_L08
cmp       [rcx+8],r15d
jb        short M03_L07
M03_L05
 
xor       r13d,r13d
xor       r12d,r12d
test      rcx,rcx
je        short M03_L10
mov       rax,[rcx]
test      dword ptr [rax],80000000
je        short M03_L09
lea       r13,[rcx+10]
mov       r12d,[rcx+8]
M03_L06
 
cmp       r15d,r12d
ja        short M03_L07
mov       r12d,r15d
jmp       short M03_L10
M03_L07
 
call      qword ptr [7FFE2845E9D0]
int       3
M03_L08
 
test      r15d,r15d
jne       short M03_L07
xor       ecx,ecx
xor       r15d,r15d
jmp       short M03_L05
M03_L09
 
lea       rdx,[rbp-58]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
mov       r13,[rbp-58]
mov       r12d,[rbp-50]
jmp       short M03_L06
M03_L10
 
mov       rcx,r13
mov       [rbp-80],rcx
mov       [rbp-78],r12d
lea       rcx,[rbp-80]
call      qword ptr [7FFE2877E5E0]; System.Text.Json.JsonReaderHelper.TranscodeHelper(System.ReadOnlySpan`1)
mov       [rbp-98],rax
mov       rcx,rsp
call      M03_L16
nop
mov       rax,[rbp-98]
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M03_L11
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       r14,[rax]
test      r14,r14
jne       near ptr M03_L00
M03_L12
 
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriterCache+ThreadLocalState
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
call      qword ptr [7FFE28B97D98]; System.Text.Json.Utf8JsonWriterCache+ThreadLocalState..ctor()
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       rcx,rax
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M03_L00
M03_L13
 
mov       rcx,7FFE287263A8
mov       edx,69
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,1BFF4C0F6D8
mov       rdi,[rcx]
jmp       near ptr M03_L03
M03_L14
 
lea       rcx,[r14+68]
mov       edx,3E8
call      qword ptr [7FFE28AC72E8]; System.Text.Json.JsonWriterOptions.set_MaxDepth(Int32)
jmp       near ptr M03_L04
M03_L15
 
mov       rcx,offset MT_System.Text.Json.PooledByteBufferWriter
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       edx,edi
call      qword ptr [7FFE28B479D8]
mov       [rbp-90],r14
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriter
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rdx,r14
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,r13
lea       r8,[rbp-70]
call      qword ptr [7FFE28AC7468]
mov       r14,r13
jmp       near ptr M03_L04
M03_L16
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0C0]
mov       r14,[rbp-90]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        short M03_L17
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
jne       short M03_L18
M03_L17
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp       short M03_L19
M03_L18
 
mov       rax,[rcx]
add       rax,10
M03_L19
 
mov       r15,[rax]
xor       ecx,ecx
mov       r12,[rbp-88]
mov       [r12+34],ecx
mov       [r12+20],rcx
mov       [r12+40],rcx
mov       [r12+48],rcx
mov       byte ptr [r12+38],0
mov       byte ptr [r12+3A],0
mov       byte ptr [r12+39],0
mov       [r12+28],ecx
mov       [r12+50],rcx
mov       [r12+58],rcx
mov       [r12+60],rcx
mov       [r12+10],rcx
mov       [r12+18],rcx
mov       [r12+8],rcx
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rdx,[rbp-90]
mov       r10d,[rdx+20]
test      rcx,rcx
jne       short M03_L20
test      r10d,r10d
jne       short M03_L21
xor       ecx,ecx
xor       r10d,r10d
jmp       short M03_L23
M03_L20
 
cmp       [rcx+8],r10d
jae       short M03_L22
M03_L21
 
call      qword ptr [7FFE2845E9D0]
int       3
M03_L22
 
add       rcx,10
M03_L23
 
mov       edx,r10d
mov       [rbp-60],rdx
test      rdx,rdx
je        short M03_L25
cmp       rdx,300
ja        short M03_L24
xor       edx,edx
mov       r8d,[rbp-60]
call      CORINFO_HELP_MEMSET
jmp       short M03_L25
M03_L24
 
mov       rdx,[rbp-60]
call      qword ptr [7FFE282A5BA8]; System.Buffer._ZeroMemory(Byte ByRef, UIntPtr)
M03_L25
 
xor       ecx,ecx
mov       [r14+20],ecx
mov       rdx,[r14+10]
mov       [r14+10],rcx
mov       rcx,1BFF4C01F20
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F0B40]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Return(Byte[], Boolean)
dec       dword ptr [r15+18]
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Trim()
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,[rbx+8]
test      esi,esi
je        short M04_L03
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M04_L00
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L01
M04_L00
 
call      qword ptr [7FFE28D1C348]
test      eax,eax
jne       short M04_L04
M04_L01
 
dec       esi
mov       ecx,esi
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M04_L02
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L03
M04_L02
 
call      qword ptr [7FFE28D1C348]
test      eax,eax
jne       short M04_L04
M04_L03
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rsi
ret
M04_L04
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
nop
add       rsp,28
pop       rbx
pop       rsi
ret
 
DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
push      rsi
push      rbx
sub       rsp,58
vzeroupper
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       [rsp+50],rcx
mov       rsi,rcx
mov       rbx,rdx
mov       rcx,rbx
test      rcx,rcx
je        short M05_L00
mov       eax,[rcx+8]
xor       edx,edx
test      eax,eax
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      eax,eax
jne       short M05_L01
jmp       short M05_L01
M05_L00
 
xor       edx,edx
M05_L01
 
test      edx,edx
je        near ptr M05_L10
cmp       [rcx],ecx
call      qword ptr [7FFE281F7318]; System.String.Trim()
mov       rbx,rax
mov       rcx,[rsi+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M05_L03
M05_L02
 
mov       r8,1BFF4C0DA78
mov       r8,[r8]
mov       rdx,rbx
call      qword ptr [7FFE28BF6B80]; System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String, System.Text.Json.JsonSerializerOptions)
test      rax,rax
je        near ptr M05_L12
add       rsp,58
pop       rbx
pop       rsi
ret
M05_L03
 
mov       rcx,rsi
mov       rdx,7FFE28BE9678
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M05_L02
M05_L04
 
lea       rcx,[rsp+28]
mov       rdx,20086B88068
call      qword ptr [7FFE283E58F0]
M05_L05
 
mov       rcx,[rsi+10]
mov       rcx,[rcx]
call      CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
mov       r8,rax
lea       rcx,[rsp+28]
mov       rdx,offset MD_System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.Type, System.Private.CoreLib]](System.Type)
call      qword ptr [7FFE2863E100]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.__Canon, System.Private.CoreLib]](System.__Canon)
mov       ebx,[rsp+38]
cmp       ebx,[rsp+48]
jbe       short M05_L07
M05_L06
 
call      qword ptr [7FFE2845E9D0]
int       3
M05_L07
 
mov       rcx,[rsp+40]
mov       edx,ebx
lea       rcx,[rcx+rdx*2]
mov       edx,[rsp+48]
sub       edx,ebx
cmp       edx,1
jb        short M05_L08
mov       rdx,20086B70C54
movzx     eax,word ptr [rdx]
mov       [rcx],ax
mov       ecx,[rsp+38]
inc       ecx
mov       [rsp+38],ecx
jmp       short M05_L09
M05_L08
 
lea       rcx,[rsp+28]
mov       rdx,20086B70C48
call      qword ptr [7FFE283E58F0]
M05_L09
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rsp+28]
call      qword ptr [7FFE283E5740]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear()
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28486718]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L10
 
call      qword ptr [7FFE287752D8]
mov       rsi,rax
test      rsi,rsi
jne       short M05_L11
call      qword ptr [7FFE28775020]
mov       rsi,rax
M05_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,20086B841F0
mov       r8,rsi
call      qword ptr [7FFE28486670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L12
 
lea       rcx,[rsp+28]
mov       edx,2A
mov       r8d,1
call      qword ptr [7FFE283E56B0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(Int32, Int32)
mov       ecx,[rsp+38]
cmp       ecx,[rsp+48]
ja        near ptr M05_L06
mov       rdx,[rsp+40]
mov       eax,ecx
lea       rdx,[rdx+rax*2]
mov       eax,[rsp+48]
sub       eax,ecx
cmp       eax,29
jb        near ptr M05_L04
mov       rcx,20086B88074
vmovdqu   ymm0,ymmword ptr [rcx]
vmovdqu   ymm1,ymmword ptr [rcx+20]
vmovdqu   ymm2,ymmword ptr [rcx+32]
vmovdqu   ymmword ptr [rdx],ymm0
vmovdqu   ymmword ptr [rdx+20],ymm1
vmovdqu   ymmword ptr [rdx+32],ymm2
mov       ecx,[rsp+38]
add       ecx,29
mov       [rsp+38],ecx
jmp       near ptr M05_L05
 
System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rax,[rbx+30]
test      rax,rax
je        short M06_L01
M06_L00
 
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M06_L01
 
lea       rsi,[rbx+30]
mov       rcx,offset MT_System.WeakReference`1[[System.Text.RegularExpressions.RegexReplacement, System.Text.RegularExpressions]]
call      CORINFO_HELP_NEWFAST
mov       rdi,rax
mov       rcx,rdi
xor       edx,edx
xor       r8d,r8d
call      qword ptr [7FFE282AD098]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].Create(System.__Canon, Boolean)
mov       rcx,rsi
mov       rdx,rdi
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
jne       short M06_L00
mov       rax,[rbx+30]
jmp       short M06_L00
 
System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
mov       rbx,rcx
mov       rsi,rdx
mov       rdi,r8
mov       ebp,r9d
mov       rax,[rbx+8]
and       rax,0FFFFFFFFFFFFFFFE
je        short M07_L03
test      al,2
jne       short M07_L04
mov       r14,[rax]
M07_L00
 
test      r14,r14
je        short M07_L02
mov       r15,[r14+18]
cmp       [r15],r15b
cmp       r15,rsi
jne       short M07_L05
M07_L01
 
mov       rax,r14
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M07_L02
 
mov       r13,[rsp+90]
mov       [rsp+20],r13
mov       rcx,rsi
mov       edx,[rsp+98]
mov       r8,rdi
mov       r9d,ebp
call      qword ptr [7FFE28CBC048]; System.Text.RegularExpressions.RegexParser.ParseReplacement(System.String, System.Text.RegularExpressions.RegexOptions, System.Collections.Hashtable, Int32, System.Collections.Hashtable)
mov       r14,rax
mov       rcx,rbx
mov       rdx,r14
call      qword ptr [7FFE282AD0B0]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].SetTarget(System.__Canon)
jmp       short M07_L01
M07_L03
 
xor       r14d,r14d
jmp       short M07_L00
M07_L04
 
and       rax,0FFFFFFFFFFFFFFFC
mov       rcx,[rax]
cmp       [rcx],ecx
call      qword ptr [7FFE28E4F360]
mov       r14,rax
jmp       short M07_L00
M07_L05
 
test      rsi,rsi
je        short M07_L02
mov       r8d,[r15+8]
cmp       r8d,[rsi+8]
jne       short M07_L02
lea       rcx,[r15+0C]
mov       r8d,[r15+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282A5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
test      eax,eax
jne       near ptr M07_L01
jmp       short M07_L02
 
System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
sub       rsp,28
mov       eax,[rsp+50]
cmp       r9d,0FFFFFFFF
jl        short M08_L01
cmp       [r8+8],eax
jb        short M08_L02
test      r9d,r9d
je        short M08_L03
test      byte ptr [rdx+40],40
je        short M08_L04
M08_L00
 
mov       [rsp+50],eax
add       rsp,28
jmp       qword ptr [7FFE28CB76F0]; System.Text.RegularExpressions.RegexReplacement.ReplaceNonSimpleText(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M08_L01
 
mov       ecx,3
mov       edx,1
call      qword ptr [7FFE28E4F288]
int       3
M08_L02
 
mov       ecx,0E
xor       edx,edx
call      qword ptr [7FFE28E4F288]
int       3
M08_L03
 
mov       rax,r8
add       rsp,28
ret
M08_L04
 
cmp       byte ptr [rcx+20],0
jne       short M08_L00
mov       r10,[rcx+10]
cmp       dword ptr [r10+8],0
jne       short M08_L05
mov       rcx,rdx
mov       r10,20086B70008
jmp       short M08_L06
M08_L05
 
mov       r10,[rcx+8]
cmp       dword ptr [r10+8],0
jbe       short M08_L07
mov       r10,[r10+10]
mov       rcx,rdx
M08_L06
 
mov       [rsp+50],eax
mov       rdx,r8
mov       r8,r10
add       rsp,28
jmp       qword ptr [7FFE28CB76D8]
M08_L07
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M09_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M09_L02
test      rbx,rbx
je        short M09_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M09_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M09_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE282A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE282A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L01
 
call      qword ptr [7FFE2845EF40]
int       3
M09_L02
 
test      rbx,rbx
je        short M09_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M09_L04
M09_L03
 
mov       rax,20086B70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 
System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rsi,rcx
mov       rbx,rdx
mov       rdi,[rbx]
M10_L00
 
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L02
M10_L01
 
mov       rcx,7FFE28D2E5F4
call      CORINFO_HELP_COUNTPROFILE32
mov       rax,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M10_L02
 
test      rdi,rdi
je        near ptr M10_L08
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L03
mov       rcx,7FFE28D2E5F0
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L03
 
test      rdi,rdi
je        short M10_L04
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L05
mov       rcx,7FFE28D2E5E8
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L04
 
mov       rcx,7FFE28D2E5EC
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
M10_L05
 
test      rdi,rdi
je        short M10_L07
mov       rdi,[rdi+10]
cmp       rdi,rsi
je        short M10_L06
test      rdi,rdi
je        short M10_L09
mov       rcx,7FFE28D2E5DC
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L00
M10_L06
 
mov       rcx,7FFE28D2E5E0
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L01
M10_L07
 
mov       rcx,7FFE28D2E5E4
call      CORINFO_HELP_COUNTPROFILE32
M10_L08
 
mov       rcx,7FFE28D2E5F8
call      CORINFO_HELP_COUNTPROFILE32
mov       rcx,rsi
mov       rdx,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281F43A8]
M10_L09
 
mov       rcx,7FFE28D2E5D8
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.RemoveCRLF01()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,40
xor       eax,eax
mov       [rsp+38],rax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
test      rcx,rcx
je        near ptr M00_L07
mov       [rsp+38],rcx
mov       rcx,120BBC0CC18
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M00_L00
mov       rcx,rsi
call      qword ptr [7FFE28705D58]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M00_L00
 
mov       rcx,rsi
call      qword ptr [7FFE28705668]; System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
mov       r8,rax
test      r8,r8
jne       short M00_L02
M00_L01
 
lea       rdx,[rsp+38]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28B86F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
test      rax,rax
je        short M00_L03
mov       ecx,[rax+8]
xor       edx,edx
test      ecx,ecx
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      ecx,ecx
jne       short M00_L04
jmp       short M00_L04
M00_L02
 
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M00_L08
jmp       short M00_L01
M00_L03
 
xor       edx,edx
M00_L04
 
test      edx,edx
je        near ptr M00_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       rdx,rax
mov       rcx,offset MD_DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.String, System.Private.CoreLib]](System.String)
call      qword ptr [7FFE28BE6B20]; DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
test      rax,rax
je        near ptr M00_L11
mov       rcx,120BBC0B960
mov       rsi,[rcx]
mov       rdi,rax
mov       rbp,rdi
test      byte ptr [rsi+40],40
je        near ptr M00_L12
mov       r14d,[rdi+8]
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE2862C900]; System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
mov       rcx,rax
mov       r8,[rsi+20]
mov       [rsp+20],r8
mov       r8d,[rsi+40]
mov       [rsp+28],r8d
mov       r8,[rsi+18]
mov       r9d,[rsi+44]
mov       rdx,1614DB60008
call      qword ptr [7FFE28CA7660]; System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
mov       rcx,rax
mov       [rsp+20],r14d
mov       rdx,rsi
mov       r8,rdi
mov       r9d,0FFFFFFFF
cmp       [rcx],ecx
call      qword ptr [7FFE28CA76C0]; System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M00_L06
 
mov       [rsp+30],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,40
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L07
 
call      qword ptr [7FFE28774438]
mov       ecx,76B
mov       rdx,7FFE286E3040
call      CORINFO_HELP_STRCNS
mov       rbp,rax
mov       ecx,1464
mov       rdx,7FFE28574C28
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbp
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE286E3040
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28774228]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L08
 
mov       rdx,rax
call      qword ptr [7FFE281E43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M00_L09
 
call      qword ptr [7FFE287744E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L10
call      qword ptr [7FFE28774228]
mov       rbx,rax
M00_L10
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1614DB741F0
mov       r8,rbx
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L11
 
xor       eax,eax
jmp       near ptr M00_L06
M00_L12
 
mov       rdi,rbp
xor       r14d,r14d
jmp       near ptr M00_L05
 
System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L00
 
push      rbp
sub       rsp,80
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L01
 
vmovdqa   xmmword ptr [rax+rbp],xmm4
vmovdqa   xmmword ptr [rbp+rax+10],xmm4
vmovdqa   xmmword ptr [rbp+rax+20],xmm4
add       rax,30
jne       short M01_L01
mov       [rbp+10],rcx
call      qword ptr [7FFE28706A90]; System.Text.Json.JsonSerializer.get_IsReflectionEnabledByDefault()
test      eax,eax
je        near ptr M01_L05
call      qword ptr [7FFE2877CBA0]; System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.get_DefaultInstance()
mov       [rbp-18],rax
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L02
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.JsonSerializerContext
call      qword ptr [7FFE281E4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       [rbp-28],rax
cmp       qword ptr [rbp-28],0
jne       short M01_L03
jmp       near ptr M01_L09
M01_L02
 
mov       rcx,[rbp+10]
lea       rcx,[rcx+20]
mov       rdx,[rbp-18]
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M01_L09
M01_L03
 
call      qword ptr [7FFE28706490]
test      eax,eax
je        near ptr M01_L09
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-10],xmm0
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
xor       r8d,r8d
call      qword ptr [7FFE2877CDB0]
mov       rdx,[rbp-28]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r8d,1
call      qword ptr [7FFE2877CDB0]
mov       rdx,[rbp-18]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rbp-48]
lea       r8,[rbp-10]
mov       rdx,offset MD_.InlineArrayAsReadOnlySpan[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r9d,2
call      qword ptr [7FFE2877CDE0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+60]
mov       [rbp-60],rcx
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-58],xmm0
lea       rcx,[rbp-58]
call      qword ptr [7FFE2877CE28]
mov       rcx,[rbp-60]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp+10]
mov       rcx,[rcx+8]
mov       [rbp-20],rcx
cmp       qword ptr [rbp-20],0
je        near ptr M01_L09
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877CC48]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
cmp       rax,[rbp+10]
je        short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877CC48]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
movzx     ecx,byte ptr [rax+9E]
test      ecx,ecx
jne       short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877CC48]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28705D58]
jmp       short M01_L09
M01_L04
 
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2877CCC0]
jmp       short M01_L09
M01_L05
 
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L06
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.EmptyJsonTypeInfoResolver
call      qword ptr [7FFE281E4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        short M01_L07
M01_L06
 
mov       dword ptr [rbp-34],1
jmp       short M01_L08
M01_L07
 
xor       eax,eax
mov       [rbp-34],eax
M01_L08
 
cmp       dword ptr [rbp-34],0
je        short M01_L09
call      qword ptr [7FFE2870C180]
M01_L09
 
mov       rax,[rbp+10]
mov       byte ptr [rax+9D],1
mov       rax,[rbp+10]
mov       byte ptr [rax+9E],1
add       rsp,80
pop       rbp
ret
 
System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
push      rsi
push      rbx
sub       rsp,38
mov       rbx,rcx
mov       rax,[rbx+18]
test      rax,rax
je        short M02_L01
M02_L00
 
add       rsp,38
pop       rbx
pop       rsi
ret
M02_L01
 
mov       byte ptr [rsp+30],1
mov       byte ptr [rsp+31],1
xor       ecx,ecx
mov       [rsp+20],ecx
mov       [rsp+28],ecx
mov       rcx,rbx
movzx     r9d,word ptr [rsp+30]
mov       rdx,1614DB62D10
mov       r8d,1
call      qword ptr [7FFE28705608]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rsi,rax
lea       rcx,[rbx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rsi
jmp       short M02_L00
 
System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
vzeroupper
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-98],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-90],xmm4
vmovdqa   xmmword ptr [rbp-80],xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-0A0],rsp
mov       rsi,rdx
mov       rbx,r8
mov       rdi,[rbx+0B0]
lea       rdx,[rbp-48]
mov       rcx,rdi
cmp       [rcx],ecx
call      qword ptr [7FFE28705DD0]; System.Text.Json.JsonSerializerOptions.GetWriterOptions()
mov       edi,[rdi+7C]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        near ptr M03_L11
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
je        near ptr M03_L11
mov       rax,[rcx]
add       rax,10
mov       r14,[rax]
test      r14,r14
je        near ptr M03_L12
M03_L00
 
mov       ecx,[r14+18]
lea       edx,[rcx+1]
mov       [r14+18],edx
test      ecx,ecx
jne       near ptr M03_L15
mov       rcx,[r14+8]
mov       [rbp-90],rcx
mov       r14,[r14+10]
mov       rcx,[rbp-90]
cmp       [rcx],cl
mov       rcx,120BFC01F20
mov       rcx,[rcx]
mov       edx,edi
call      qword ptr [7FFE289E0520]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Rent(Int32)
mov       rcx,[rbp-90]
lea       rcx,[rcx+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp-90]
xor       edx,edx
mov       [rcx+20],edx
lea       rcx,[r14+8]
mov       rdx,[rbp-90]
call      CORINFO_HELP_ASSIGN_REF
mov       edi,[rbp-3C]
lea       rcx,[r14+68]
mov       rdx,[rbp-48]
call      CORINFO_HELP_ASSIGN_REF
mov       ecx,[rbp-40]
mov       [r14+70],ecx
mov       ecx,[rbp-3C]
mov       [r14+74],ecx
mov       ecx,9
mov       edx,20
test      byte ptr [r14+74],8
cmove     ecx,edx
mov       [r14+3B],cl
mov       ecx,edi
and       ecx,7F0
sar       ecx,4
je        short M03_L01
xor       edx,edx
cmp       ecx,2
cmovne    edx,ecx
jmp       short M03_L02
M03_L01
 
mov       edx,2
M03_L02
 
mov       [r14+2C],edx
test      dil,4
jne       near ptr M03_L13
mov       rdi,1614DB61C08
M03_L03
 
mov       ecx,[rdi+8]
mov       [r14+30],ecx
cmp       dword ptr [r14+70],0
je        near ptr M03_L14
M03_L04
 
mov       [rbp-88],r14
mov       rcx,rbx
mov       rdx,r14
mov       r8,rsi
xor       r9d,r9d
call      qword ptr [7FFE2877C348]; System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.__Canon, System.Private.CoreLib]].Serialize(System.Text.Json.Utf8JsonWriter, System.__Canon ByRef, System.Object)
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rax,[rbp-90]
mov       r15d,[rax+20]
test      rcx,rcx
je        short M03_L08
cmp       [rcx+8],r15d
jb        short M03_L07
M03_L05
 
xor       r13d,r13d
xor       r12d,r12d
test      rcx,rcx
je        short M03_L10
mov       rax,[rcx]
test      dword ptr [rax],80000000
je        short M03_L09
lea       r13,[rcx+10]
mov       r12d,[rcx+8]
M03_L06
 
cmp       r15d,r12d
ja        short M03_L07
mov       r12d,r15d
jmp       short M03_L10
M03_L07
 
call      qword ptr [7FFE2844E9D0]
int       3
M03_L08
 
test      r15d,r15d
jne       short M03_L07
xor       ecx,ecx
xor       r15d,r15d
jmp       short M03_L05
M03_L09
 
lea       rdx,[rbp-58]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
mov       r13,[rbp-58]
mov       r12d,[rbp-50]
jmp       short M03_L06
M03_L10
 
mov       rcx,r13
mov       [rbp-80],rcx
mov       [rbp-78],r12d
lea       rcx,[rbp-80]
call      qword ptr [7FFE2877D878]; System.Text.Json.JsonReaderHelper.TranscodeHelper(System.ReadOnlySpan`1)
mov       [rbp-98],rax
mov       rcx,rsp
call      M03_L16
nop
mov       rax,[rbp-98]
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M03_L11
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       r14,[rax]
test      r14,r14
jne       near ptr M03_L00
M03_L12
 
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriterCache+ThreadLocalState
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
call      qword ptr [7FFE28B87D98]; System.Text.Json.Utf8JsonWriterCache+ThreadLocalState..ctor()
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       rcx,rax
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M03_L00
M03_L13
 
mov       rcx,7FFE28715EC8
mov       edx,69
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,120BBC0D6E0
mov       rdi,[rcx]
jmp       near ptr M03_L03
M03_L14
 
lea       rcx,[r14+68]
mov       edx,3E8
call      qword ptr [7FFE28AB72E8]; System.Text.Json.JsonWriterOptions.set_MaxDepth(Int32)
jmp       near ptr M03_L04
M03_L15
 
mov       rcx,offset MT_System.Text.Json.PooledByteBufferWriter
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       edx,edi
call      qword ptr [7FFE28B379D8]
mov       [rbp-90],r14
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriter
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rdx,r14
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,r13
lea       r8,[rbp-70]
call      qword ptr [7FFE28AB7468]
mov       r14,r13
jmp       near ptr M03_L04
M03_L16
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0C0]
mov       r14,[rbp-90]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        short M03_L17
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
jne       short M03_L18
M03_L17
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp       short M03_L19
M03_L18
 
mov       rax,[rcx]
add       rax,10
M03_L19
 
mov       r15,[rax]
xor       ecx,ecx
mov       r12,[rbp-88]
mov       [r12+34],ecx
mov       [r12+20],rcx
mov       [r12+40],rcx
mov       [r12+48],rcx
mov       byte ptr [r12+38],0
mov       byte ptr [r12+3A],0
mov       byte ptr [r12+39],0
mov       [r12+28],ecx
mov       [r12+50],rcx
mov       [r12+58],rcx
mov       [r12+60],rcx
mov       [r12+10],rcx
mov       [r12+18],rcx
mov       [r12+8],rcx
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rdx,[rbp-90]
mov       r8d,[rdx+20]
test      rcx,rcx
jne       short M03_L20
test      r8d,r8d
jne       short M03_L21
xor       ecx,ecx
xor       r8d,r8d
jmp       short M03_L23
M03_L20
 
cmp       [rcx+8],r8d
jae       short M03_L22
M03_L21
 
call      qword ptr [7FFE2844E9D0]
int       3
M03_L22
 
add       rcx,10
M03_L23
 
mov       edx,r8d
mov       [rbp-60],rdx
test      rdx,rdx
je        short M03_L25
cmp       rdx,300
ja        short M03_L24
xor       edx,edx
mov       r8d,[rbp-60]
call      CORINFO_HELP_MEMSET
jmp       short M03_L25
M03_L24
 
call      qword ptr [7FFE28295BA8]; System.Buffer._ZeroMemory(Byte ByRef, UIntPtr)
M03_L25
 
xor       ecx,ecx
mov       [r14+20],ecx
mov       rdx,[r14+10]
mov       [r14+10],rcx
mov       rcx,120BFC01F20
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289E0528]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Return(Byte[], Boolean)
dec       dword ptr [r15+18]
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Trim()
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,[rbx+8]
test      esi,esi
je        short M04_L03
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M04_L00
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L01
M04_L00
 
call      qword ptr [7FFE28D0C390]
test      eax,eax
jne       short M04_L04
M04_L01
 
dec       esi
mov       ecx,esi
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M04_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L03
M04_L02
 
call      qword ptr [7FFE28D0C390]
test      eax,eax
jne       short M04_L04
M04_L03
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rsi
ret
M04_L04
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
nop
add       rsp,28
pop       rbx
pop       rsi
ret
 
DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
push      rsi
push      rbx
sub       rsp,58
vzeroupper
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       [rsp+50],rcx
mov       rsi,rcx
mov       rbx,rdx
mov       rcx,rbx
test      rcx,rcx
je        short M05_L00
mov       eax,[rcx+8]
xor       edx,edx
test      eax,eax
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      eax,eax
jne       short M05_L01
jmp       short M05_L01
M05_L00
 
xor       edx,edx
M05_L01
 
test      edx,edx
je        near ptr M05_L10
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       rbx,rax
mov       rcx,[rsi+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M05_L03
M05_L02
 
mov       r8,120BBC0BA80
mov       r8,[r8]
mov       rdx,rbx
call      qword ptr [7FFE28BE6B80]; System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String, System.Text.Json.JsonSerializerOptions)
test      rax,rax
je        near ptr M05_L12
add       rsp,58
pop       rbx
pop       rsi
ret
M05_L03
 
mov       rcx,rsi
mov       rdx,7FFE28BD9600
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M05_L02
M05_L04
 
lea       rcx,[rsp+28]
mov       rdx,1614DB78068
call      qword ptr [7FFE283D58F0]
M05_L05
 
mov       rcx,[rsi+10]
mov       rcx,[rcx]
call      CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
mov       r8,rax
lea       rcx,[rsp+28]
mov       rdx,offset MD_System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.Type, System.Private.CoreLib]](System.Type)
call      qword ptr [7FFE2862D1D0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.__Canon, System.Private.CoreLib]](System.__Canon)
mov       ebx,[rsp+38]
cmp       ebx,[rsp+48]
jbe       short M05_L07
M05_L06
 
call      qword ptr [7FFE2844E9D0]
int       3
M05_L07
 
mov       rcx,[rsp+40]
mov       edx,ebx
lea       rcx,[rcx+rdx*2]
mov       edx,[rsp+48]
sub       edx,ebx
cmp       edx,1
jb        short M05_L08
mov       rdx,1614DB60C54
movzx     eax,word ptr [rdx]
mov       [rcx],ax
mov       ecx,[rsp+38]
inc       ecx
mov       [rsp+38],ecx
jmp       short M05_L09
M05_L08
 
lea       rcx,[rsp+28]
mov       rdx,1614DB60C48
call      qword ptr [7FFE283D58F0]
M05_L09
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rsp+28]
call      qword ptr [7FFE283D5740]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear()
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28476718]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L10
 
call      qword ptr [7FFE287744E0]
mov       rsi,rax
test      rsi,rsi
jne       short M05_L11
call      qword ptr [7FFE28774228]
mov       rsi,rax
M05_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,1614DB741F0
mov       r8,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L12
 
lea       rcx,[rsp+28]
mov       edx,2A
mov       r8d,1
call      qword ptr [7FFE283D56B0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(Int32, Int32)
mov       ecx,[rsp+38]
cmp       ecx,[rsp+48]
ja        near ptr M05_L06
mov       rdx,[rsp+40]
mov       eax,ecx
lea       rdx,[rdx+rax*2]
mov       eax,[rsp+48]
sub       eax,ecx
cmp       eax,29
jb        near ptr M05_L04
mov       rcx,1614DB78074
vmovdqu   ymm0,ymmword ptr [rcx]
vmovdqu   ymm1,ymmword ptr [rcx+20]
vmovdqu   ymm2,ymmword ptr [rcx+32]
vmovdqu   ymmword ptr [rdx],ymm0
vmovdqu   ymmword ptr [rdx+20],ymm1
vmovdqu   ymmword ptr [rdx+32],ymm2
mov       ecx,[rsp+38]
add       ecx,29
mov       [rsp+38],ecx
jmp       near ptr M05_L05
 
System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rax,[rbx+30]
test      rax,rax
je        short M06_L01
M06_L00
 
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M06_L01
 
lea       rsi,[rbx+30]
mov       rcx,offset MT_System.WeakReference`1[[System.Text.RegularExpressions.RegexReplacement, System.Text.RegularExpressions]]
call      CORINFO_HELP_NEWFAST
mov       rdi,rax
mov       rcx,rdi
xor       edx,edx
xor       r8d,r8d
call      qword ptr [7FFE2829D098]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].Create(System.__Canon, Boolean)
mov       rcx,rsi
mov       rdx,rdi
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
jne       short M06_L00
mov       rax,[rbx+30]
jmp       short M06_L00
 
System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
mov       rbx,rcx
mov       rsi,rdx
mov       rdi,r8
mov       ebp,r9d
mov       rax,[rbx+8]
and       rax,0FFFFFFFFFFFFFFFE
je        short M07_L03
test      al,2
jne       short M07_L04
mov       r14,[rax]
M07_L00
 
test      r14,r14
je        short M07_L02
mov       r15,[r14+18]
cmp       [r15],r15b
cmp       r15,rsi
jne       short M07_L05
M07_L01
 
mov       rax,r14
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M07_L02
 
mov       r13,[rsp+90]
mov       [rsp+20],r13
mov       rcx,rsi
mov       edx,[rsp+98]
mov       r8,rdi
mov       r9d,ebp
call      qword ptr [7FFE28CAC048]; System.Text.RegularExpressions.RegexParser.ParseReplacement(System.String, System.Text.RegularExpressions.RegexOptions, System.Collections.Hashtable, Int32, System.Collections.Hashtable)
mov       r14,rax
mov       rcx,rbx
mov       rdx,r14
call      qword ptr [7FFE2829D0B0]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].SetTarget(System.__Canon)
jmp       short M07_L01
M07_L03
 
xor       r14d,r14d
jmp       short M07_L00
M07_L04
 
and       rax,0FFFFFFFFFFFFFFFC
mov       rcx,[rax]
cmp       [rcx],ecx
call      qword ptr [7FFE28E2F240]
mov       r14,rax
jmp       short M07_L00
M07_L05
 
test      rsi,rsi
je        short M07_L02
mov       r8d,[r15+8]
cmp       r8d,[rsi+8]
jne       short M07_L02
lea       rcx,[r15+0C]
mov       r8d,[r15+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE28295068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
test      eax,eax
jne       near ptr M07_L01
jmp       short M07_L02
 
System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
sub       rsp,28
mov       eax,[rsp+50]
cmp       r9d,0FFFFFFFF
jl        short M08_L01
cmp       [r8+8],eax
jb        short M08_L02
test      r9d,r9d
je        short M08_L03
test      byte ptr [rdx+40],40
je        short M08_L04
M08_L00
 
mov       [rsp+50],eax
add       rsp,28
jmp       qword ptr [7FFE28CA76F0]; System.Text.RegularExpressions.RegexReplacement.ReplaceNonSimpleText(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M08_L01
 
mov       ecx,3
mov       edx,1
call      qword ptr [7FFE28E2F168]
int       3
M08_L02
 
mov       ecx,0E
xor       edx,edx
call      qword ptr [7FFE28E2F168]
int       3
M08_L03
 
mov       rax,r8
add       rsp,28
ret
M08_L04
 
cmp       byte ptr [rcx+20],0
jne       short M08_L00
mov       r10,[rcx+10]
cmp       dword ptr [r10+8],0
jne       short M08_L05
mov       rcx,rdx
mov       r10,1614DB60008
jmp       short M08_L06
M08_L05
 
mov       r10,[rcx+8]
cmp       dword ptr [r10+8],0
jbe       short M08_L07
mov       r10,[r10+10]
mov       rcx,rdx
M08_L06
 
mov       [rsp+50],eax
mov       rdx,r8
mov       r8,r10
add       rsp,28
jmp       qword ptr [7FFE28CA76D8]
M08_L07
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M09_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M09_L02
test      rbx,rbx
je        short M09_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M09_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M09_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L01
 
call      qword ptr [7FFE2844EF40]
int       3
M09_L02
 
test      rbx,rbx
je        short M09_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M09_L04
M09_L03
 
mov       rax,1614DB60008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 
System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rsi,rcx
mov       rbx,rdx
mov       rdi,[rbx]
M10_L00
 
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L02
M10_L01
 
mov       rcx,7FFE28D1CDAC
call      CORINFO_HELP_COUNTPROFILE32
mov       rax,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M10_L02
 
test      rdi,rdi
je        near ptr M10_L08
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L03
mov       rcx,7FFE28D1CDA8
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L03
 
test      rdi,rdi
je        short M10_L04
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L05
mov       rcx,7FFE28D1CDA0
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L04
 
mov       rcx,7FFE28D1CDA4
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
M10_L05
 
test      rdi,rdi
je        short M10_L07
mov       rdi,[rdi+10]
cmp       rdi,rsi
je        short M10_L06
test      rdi,rdi
je        short M10_L09
mov       rcx,7FFE28D1CD94
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L00
M10_L06
 
mov       rcx,7FFE28D1CD98
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L01
M10_L07
 
mov       rcx,7FFE28D1CD9C
call      CORINFO_HELP_COUNTPROFILE32
M10_L08
 
mov       rcx,7FFE28D1CDB0
call      CORINFO_HELP_COUNTPROFILE32
mov       rcx,rsi
mov       rdx,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281E43A8]
M10_L09
 
mov       rcx,7FFE28D1CD90
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.RemoveCRLF01()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,40
xor       eax,eax
mov       [rsp+38],rax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
test      rcx,rcx
je        near ptr M00_L07
mov       [rsp+38],rcx
mov       rcx,2037780EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M00_L00
mov       rcx,rsi
call      qword ptr [7FFE28706A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M00_L00
 
mov       rcx,rsi
call      qword ptr [7FFE28706328]; System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
mov       r8,rax
test      r8,r8
jne       short M00_L02
M00_L01
 
lea       rdx,[rsp+38]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28B86F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
test      rax,rax
je        short M00_L03
mov       ecx,[rax+8]
xor       edx,edx
test      ecx,ecx
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      ecx,ecx
jne       short M00_L04
jmp       short M00_L04
M00_L02
 
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M00_L08
jmp       short M00_L01
M00_L03
 
xor       edx,edx
M00_L04
 
test      edx,edx
je        near ptr M00_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       rdx,rax
mov       rcx,offset MD_DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.String, System.Private.CoreLib]](System.String)
call      qword ptr [7FFE28BEC1F8]; DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
test      rax,rax
je        near ptr M00_L11
mov       rcx,2037780D958
mov       rsi,[rcx]
mov       rdi,rax
mov       rbp,rdi
test      byte ptr [rsi+40],40
je        near ptr M00_L12
mov       r14d,[rdi+8]
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE2862D830]; System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
mov       rcx,rax
mov       r8,[rsi+20]
mov       [rsp+20],r8
mov       r8d,[rsi+40]
mov       [rsp+28],r8d
mov       r8,[rsi+18]
mov       r9d,[rsi+44]
mov       rdx,24409960008
call      qword ptr [7FFE28CACCC0]; System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
mov       rcx,rax
mov       [rsp+20],r14d
mov       rdx,rsi
mov       r8,rdi
mov       r9d,0FFFFFFFF
cmp       [rcx],ecx
call      qword ptr [7FFE28CACD20]; System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M00_L06
 
mov       [rsp+30],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,40
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L07
 
call      qword ptr [7FFE28765230]
mov       ecx,76B
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rbp,rax
mov       ecx,1464
mov       rdx,7FFE28575108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbp
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28765020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L08
 
mov       rdx,rax
call      qword ptr [7FFE281E43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M00_L09
 
call      qword ptr [7FFE287652D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L10
call      qword ptr [7FFE28765020]
mov       rbx,rax
M00_L10
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,244099741F0
mov       r8,rbx
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L11
 
xor       eax,eax
jmp       near ptr M00_L06
M00_L12
 
mov       rdi,rbp
xor       r14d,r14d
jmp       near ptr M00_L05
 
System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L00
 
push      rbp
sub       rsp,80
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L01
 
vmovdqa   xmmword ptr [rax+rbp],xmm4
vmovdqa   xmmword ptr [rbp+rax+10],xmm4
vmovdqa   xmmword ptr [rbp+rax+20],xmm4
add       rax,30
jne       short M01_L01
mov       [rbp+10],rcx
call      qword ptr [7FFE28707750]; System.Text.Json.JsonSerializer.get_IsReflectionEnabledByDefault()
test      eax,eax
je        near ptr M01_L05
call      qword ptr [7FFE2876D908]; System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.get_DefaultInstance()
mov       [rbp-18],rax
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L02
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.JsonSerializerContext
call      qword ptr [7FFE281E4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       [rbp-28],rax
cmp       qword ptr [rbp-28],0
jne       short M01_L03
jmp       near ptr M01_L09
M01_L02
 
mov       rcx,[rbp+10]
lea       rcx,[rcx+20]
mov       rdx,[rbp-18]
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M01_L09
M01_L03
 
call      qword ptr [7FFE28707150]
test      eax,eax
je        near ptr M01_L09
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-10],xmm0
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
xor       r8d,r8d
call      qword ptr [7FFE2876DB18]
mov       rdx,[rbp-28]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r8d,1
call      qword ptr [7FFE2876DB18]
mov       rdx,[rbp-18]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rbp-48]
lea       r8,[rbp-10]
mov       rdx,offset MD_.InlineArrayAsReadOnlySpan[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r9d,2
call      qword ptr [7FFE2876DB48]
mov       rcx,[rbp+10]
lea       rcx,[rcx+60]
mov       [rbp-60],rcx
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-58],xmm0
lea       rcx,[rbp-58]
call      qword ptr [7FFE2876DB90]
mov       rcx,[rbp-60]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp+10]
mov       rcx,[rcx+8]
mov       [rbp-20],rcx
cmp       qword ptr [rbp-20],0
je        near ptr M01_L09
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
cmp       rax,[rbp+10]
je        short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
movzx     ecx,byte ptr [rax+9E]
test      ecx,ecx
jne       short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28706A18]
jmp       short M01_L09
M01_L04
 
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876DA28]
jmp       short M01_L09
M01_L05
 
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L06
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.EmptyJsonTypeInfoResolver
call      qword ptr [7FFE281E4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        short M01_L07
M01_L06
 
mov       dword ptr [rbp-34],1
jmp       short M01_L08
M01_L07
 
xor       eax,eax
mov       [rbp-34],eax
M01_L08
 
cmp       dword ptr [rbp-34],0
je        short M01_L09
call      qword ptr [7FFE2870D098]
M01_L09
 
mov       rax,[rbp+10]
mov       byte ptr [rax+9D],1
mov       rax,[rbp+10]
mov       byte ptr [rax+9E],1
add       rsp,80
pop       rbp
ret
 
System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
push      rsi
push      rbx
sub       rsp,38
mov       rbx,rcx
mov       rax,[rbx+18]
test      rax,rax
je        short M02_L01
M02_L00
 
add       rsp,38
pop       rbx
pop       rsi
ret
M02_L01
 
mov       byte ptr [rsp+30],1
mov       byte ptr [rsp+31],1
xor       ecx,ecx
mov       [rsp+20],ecx
mov       [rsp+28],ecx
mov       rcx,rbx
movzx     r9d,word ptr [rsp+30]
mov       rdx,24409962D10
mov       r8d,1
call      qword ptr [7FFE287062C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rsi,rax
lea       rcx,[rbx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rsi
jmp       short M02_L00
 
System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
vzeroupper
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-98],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-90],xmm4
vmovdqa   xmmword ptr [rbp-80],xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-0A0],rsp
mov       rsi,rdx
mov       rbx,r8
mov       rdi,[rbx+0B0]
lea       rdx,[rbp-48]
mov       rcx,rdi
cmp       [rcx],ecx
call      qword ptr [7FFE28706A90]; System.Text.Json.JsonSerializerOptions.GetWriterOptions()
mov       edi,[rdi+7C]
mov       rcx,gs:[58]
mov       rcx,[rcx+38]
cmp       dword ptr [rcx+190],3
jl        near ptr M03_L11
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
je        near ptr M03_L11
mov       rax,[rcx]
add       rax,10
mov       r14,[rax]
test      r14,r14
je        near ptr M03_L12
M03_L00
 
mov       ecx,[r14+18]
lea       edx,[rcx+1]
mov       [r14+18],edx
test      ecx,ecx
jne       near ptr M03_L15
mov       rcx,[r14+8]
mov       [rbp-90],rcx
mov       r14,[r14+10]
mov       rcx,[rbp-90]
cmp       [rcx],cl
mov       rcx,20377801F20
mov       rcx,[rcx]
mov       edx,edi
call      qword ptr [7FFE289E0B38]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Rent(Int32)
mov       rcx,[rbp-90]
lea       rcx,[rcx+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp-90]
xor       edx,edx
mov       [rcx+20],edx
lea       rcx,[r14+8]
mov       rdx,[rbp-90]
call      CORINFO_HELP_ASSIGN_REF
mov       edi,[rbp-3C]
lea       rcx,[r14+68]
mov       rdx,[rbp-48]
call      CORINFO_HELP_ASSIGN_REF
mov       ecx,[rbp-40]
mov       [r14+70],ecx
mov       ecx,[rbp-3C]
mov       [r14+74],ecx
mov       ecx,9
mov       edx,20
test      byte ptr [r14+74],8
cmove     ecx,edx
mov       [r14+3B],cl
mov       ecx,edi
and       ecx,7F0
sar       ecx,4
je        short M03_L01
xor       edx,edx
cmp       ecx,2
cmovne    edx,ecx
jmp       short M03_L02
M03_L01
 
mov       edx,2
M03_L02
 
mov       [r14+2C],edx
test      dil,4
jne       near ptr M03_L13
mov       rdi,24409961C08
M03_L03
 
mov       ecx,[rdi+8]
mov       [r14+30],ecx
cmp       dword ptr [r14+70],0
je        near ptr M03_L14
M03_L04
 
mov       [rbp-88],r14
mov       rcx,rbx
mov       rdx,r14
mov       r8,rsi
xor       r9d,r9d
call      qword ptr [7FFE2876D0B0]; System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.__Canon, System.Private.CoreLib]].Serialize(System.Text.Json.Utf8JsonWriter, System.__Canon ByRef, System.Object)
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rax,[rbp-90]
mov       r15d,[rax+20]
test      rcx,rcx
je        short M03_L08
cmp       [rcx+8],r15d
jb        short M03_L07
M03_L05
 
xor       r13d,r13d
xor       r12d,r12d
test      rcx,rcx
je        short M03_L10
mov       rax,[rcx]
test      dword ptr [rax],80000000
je        short M03_L09
lea       r13,[rcx+10]
mov       r12d,[rcx+8]
M03_L06
 
cmp       r15d,r12d
ja        short M03_L07
mov       r12d,r15d
jmp       short M03_L10
M03_L07
 
call      qword ptr [7FFE2844E9D0]
int       3
M03_L08
 
test      r15d,r15d
jne       short M03_L07
xor       ecx,ecx
xor       r15d,r15d
jmp       short M03_L05
M03_L09
 
lea       rdx,[rbp-58]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
mov       r13,[rbp-58]
mov       r12d,[rbp-50]
jmp       short M03_L06
M03_L10
 
mov       rcx,r13
mov       [rbp-80],rcx
mov       [rbp-78],r12d
lea       rcx,[rbp-80]
call      qword ptr [7FFE2876E5E0]; System.Text.Json.JsonReaderHelper.TranscodeHelper(System.ReadOnlySpan`1)
mov       [rbp-98],rax
mov       rcx,rsp
call      M03_L16
nop
mov       rax,[rbp-98]
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M03_L11
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       r14,[rax]
test      r14,r14
jne       near ptr M03_L00
M03_L12
 
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriterCache+ThreadLocalState
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
call      qword ptr [7FFE28B87D98]; System.Text.Json.Utf8JsonWriterCache+ThreadLocalState..ctor()
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       rcx,rax
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M03_L00
M03_L13
 
mov       rcx,7FFE287163A8
mov       edx,69
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,2037780F6D8
mov       rdi,[rcx]
jmp       near ptr M03_L03
M03_L14
 
lea       rcx,[r14+68]
mov       edx,3E8
call      qword ptr [7FFE28AB72E8]; System.Text.Json.JsonWriterOptions.set_MaxDepth(Int32)
jmp       near ptr M03_L04
M03_L15
 
mov       rcx,offset MT_System.Text.Json.PooledByteBufferWriter
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       edx,edi
call      qword ptr [7FFE28B379D8]
mov       [rbp-90],r14
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriter
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rdx,r14
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,r13
lea       r8,[rbp-70]
call      qword ptr [7FFE28AB7468]
mov       r14,r13
jmp       near ptr M03_L04
M03_L16
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0C0]
mov       r14,[rbp-90]
mov       rcx,gs:[58]
mov       rcx,[rcx+38]
cmp       dword ptr [rcx+190],3
jl        short M03_L17
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
jne       short M03_L18
M03_L17
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp       short M03_L19
M03_L18
 
mov       rax,[rcx]
add       rax,10
M03_L19
 
mov       r15,[rax]
xor       ecx,ecx
mov       r12,[rbp-88]
mov       [r12+34],ecx
mov       [r12+20],rcx
mov       [r12+40],rcx
mov       [r12+48],rcx
mov       byte ptr [r12+38],0
mov       byte ptr [r12+3A],0
mov       byte ptr [r12+39],0
mov       [r12+28],ecx
mov       [r12+50],rcx
mov       [r12+58],rcx
mov       [r12+60],rcx
mov       [r12+10],rcx
mov       [r12+18],rcx
mov       [r12+8],rcx
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rdx,[rbp-90]
mov       r8d,[rdx+20]
test      rcx,rcx
jne       short M03_L20
test      r8d,r8d
jne       short M03_L21
xor       ecx,ecx
xor       r8d,r8d
jmp       short M03_L23
M03_L20
 
cmp       [rcx+8],r8d
jae       short M03_L22
M03_L21
 
call      qword ptr [7FFE2844E9D0]
int       3
M03_L22
 
add       rcx,10
M03_L23
 
mov       edx,r8d
mov       [rbp-60],rdx
test      rdx,rdx
je        short M03_L25
cmp       rdx,300
ja        short M03_L24
xor       edx,edx
mov       r8d,[rbp-60]
call      CORINFO_HELP_MEMSET
jmp       short M03_L25
M03_L24
 
call      qword ptr [7FFE28295BA8]; System.Buffer._ZeroMemory(Byte ByRef, UIntPtr)
M03_L25
 
xor       ecx,ecx
mov       [r14+20],ecx
mov       rdx,[r14+10]
mov       [r14+10],rcx
mov       rcx,20377801F20
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289E0B40]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Return(Byte[], Boolean)
dec       dword ptr [r15+18]
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Trim()
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,[rbx+8]
test      esi,esi
je        short M04_L03
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M04_L00
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L01
M04_L00
 
call      qword ptr [7FFE28D15E60]
test      eax,eax
jne       short M04_L04
M04_L01
 
dec       esi
mov       ecx,esi
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M04_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L03
M04_L02
 
call      qword ptr [7FFE28D15E60]
test      eax,eax
jne       short M04_L04
M04_L03
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rsi
ret
M04_L04
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
nop
add       rsp,28
pop       rbx
pop       rsi
ret
 
DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
push      rsi
push      rbx
sub       rsp,58
vzeroupper
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       [rsp+50],rcx
mov       rsi,rcx
mov       rbx,rdx
mov       rcx,rbx
test      rcx,rcx
je        short M05_L00
mov       eax,[rcx+8]
xor       edx,edx
test      eax,eax
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      eax,eax
jne       short M05_L01
jmp       short M05_L01
M05_L00
 
xor       edx,edx
M05_L01
 
test      edx,edx
je        near ptr M05_L10
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       rbx,rax
mov       rcx,[rsi+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M05_L03
M05_L02
 
mov       r8,2037780DA78
mov       r8,[r8]
mov       rdx,rbx
call      qword ptr [7FFE28BEC258]; System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String, System.Text.Json.JsonSerializerOptions)
test      rax,rax
je        near ptr M05_L12
add       rsp,58
pop       rbx
pop       rsi
ret
M05_L03
 
mov       rcx,rsi
mov       rdx,7FFE28BDB4C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M05_L02
M05_L04
 
lea       rcx,[rsp+28]
mov       rdx,24409978068
call      qword ptr [7FFE283D58F0]
M05_L05
 
mov       rcx,[rsi+10]
mov       rcx,[rcx]
call      CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
mov       r8,rax
lea       rcx,[rsp+28]
mov       rdx,offset MD_System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.Type, System.Private.CoreLib]](System.Type)
call      qword ptr [7FFE2862E100]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.__Canon, System.Private.CoreLib]](System.__Canon)
mov       ebx,[rsp+38]
cmp       ebx,[rsp+48]
jbe       short M05_L07
M05_L06
 
call      qword ptr [7FFE2844E9D0]
int       3
M05_L07
 
mov       rcx,[rsp+40]
mov       edx,ebx
lea       rcx,[rcx+rdx*2]
mov       edx,[rsp+48]
sub       edx,ebx
cmp       edx,1
jb        short M05_L08
mov       rdx,24409960C54
movzx     eax,word ptr [rdx]
mov       [rcx],ax
mov       ecx,[rsp+38]
inc       ecx
mov       [rsp+38],ecx
jmp       short M05_L09
M05_L08
 
lea       rcx,[rsp+28]
mov       rdx,24409960C48
call      qword ptr [7FFE283D58F0]
M05_L09
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rsp+28]
call      qword ptr [7FFE283D5740]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear()
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28476718]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L10
 
call      qword ptr [7FFE287652D8]
mov       rsi,rax
test      rsi,rsi
jne       short M05_L11
call      qword ptr [7FFE28765020]
mov       rsi,rax
M05_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,244099741F0
mov       r8,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L12
 
lea       rcx,[rsp+28]
mov       edx,2A
mov       r8d,1
call      qword ptr [7FFE283D56B0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(Int32, Int32)
mov       ecx,[rsp+38]
cmp       ecx,[rsp+48]
ja        near ptr M05_L06
mov       rdx,[rsp+40]
mov       eax,ecx
lea       rdx,[rdx+rax*2]
mov       eax,[rsp+48]
sub       eax,ecx
cmp       eax,29
jb        near ptr M05_L04
mov       rcx,24409978074
vmovdqu   ymm0,ymmword ptr [rcx]
vmovdqu   ymm1,ymmword ptr [rcx+20]
vmovdqu   ymm2,ymmword ptr [rcx+32]
vmovdqu   ymmword ptr [rdx],ymm0
vmovdqu   ymmword ptr [rdx+20],ymm1
vmovdqu   ymmword ptr [rdx+32],ymm2
mov       ecx,[rsp+38]
add       ecx,29
mov       [rsp+38],ecx
jmp       near ptr M05_L05
 
System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rax,[rbx+30]
test      rax,rax
je        short M06_L01
M06_L00
 
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M06_L01
 
lea       rsi,[rbx+30]
mov       rcx,offset MT_System.WeakReference`1[[System.Text.RegularExpressions.RegexReplacement, System.Text.RegularExpressions]]
call      CORINFO_HELP_NEWFAST
mov       rdi,rax
mov       rcx,rdi
xor       edx,edx
xor       r8d,r8d
call      qword ptr [7FFE2829D098]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].Create(System.__Canon, Boolean)
mov       rcx,rsi
mov       rdx,rdi
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
jne       short M06_L00
mov       rax,[rbx+30]
jmp       short M06_L00
 
System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
mov       rbx,rcx
mov       rsi,rdx
mov       rdi,r8
mov       ebp,r9d
mov       rax,[rbx+8]
and       rax,0FFFFFFFFFFFFFFFE
je        short M07_L03
test      al,2
jne       short M07_L04
mov       r14,[rax]
M07_L00
 
test      r14,r14
je        short M07_L02
mov       r15,[r14+18]
cmp       [r15],r15b
cmp       r15,rsi
jne       short M07_L05
M07_L01
 
mov       rax,r14
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M07_L02
 
mov       r13,[rsp+90]
mov       [rsp+20],r13
mov       rcx,rsi
mov       edx,[rsp+98]
mov       r8,rdi
mov       r9d,ebp
call      qword ptr [7FFE28CAD260]; System.Text.RegularExpressions.RegexParser.ParseReplacement(System.String, System.Text.RegularExpressions.RegexOptions, System.Collections.Hashtable, Int32, System.Collections.Hashtable)
mov       r14,rax
mov       rcx,rbx
mov       rdx,r14
call      qword ptr [7FFE2829D0B0]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].SetTarget(System.__Canon)
jmp       short M07_L01
M07_L03
 
xor       r14d,r14d
jmp       short M07_L00
M07_L04
 
and       rax,0FFFFFFFFFFFFFFFC
mov       rcx,[rax]
cmp       [rcx],ecx
call      qword ptr [7FFE28E3FB88]
mov       r14,rax
jmp       short M07_L00
M07_L05
 
test      rsi,rsi
je        short M07_L02
mov       r8d,[r15+8]
cmp       r8d,[rsi+8]
jne       short M07_L02
lea       rcx,[r15+0C]
mov       r8d,[r15+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE28295068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
test      eax,eax
jne       near ptr M07_L01
jmp       short M07_L02
 
System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
sub       rsp,28
mov       eax,[rsp+50]
cmp       r9d,0FFFFFFFF
jl        short M08_L01
cmp       [r8+8],eax
jb        short M08_L02
test      r9d,r9d
je        short M08_L03
test      byte ptr [rdx+40],40
je        short M08_L04
M08_L00
 
mov       [rsp+50],eax
add       rsp,28
jmp       qword ptr [7FFE28CACD50]; System.Text.RegularExpressions.RegexReplacement.ReplaceNonSimpleText(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M08_L01
 
mov       ecx,3
mov       edx,1
call      qword ptr [7FFE28E3FAB0]
int       3
M08_L02
 
mov       ecx,0E
xor       edx,edx
call      qword ptr [7FFE28E3FAB0]
int       3
M08_L03
 
mov       rax,r8
add       rsp,28
ret
M08_L04
 
cmp       byte ptr [rcx+20],0
jne       short M08_L00
mov       r10,[rcx+10]
cmp       dword ptr [r10+8],0
jne       short M08_L05
mov       rcx,rdx
mov       r10,24409960008
jmp       short M08_L06
M08_L05
 
mov       r10,[rcx+8]
cmp       dword ptr [r10+8],0
jbe       short M08_L07
mov       r10,[r10+10]
mov       rcx,rdx
M08_L06
 
mov       [rsp+50],eax
mov       rdx,r8
mov       r8,r10
add       rsp,28
jmp       qword ptr [7FFE28CACD38]
M08_L07
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M09_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M09_L02
test      rbx,rbx
je        short M09_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M09_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M09_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L01
 
call      qword ptr [7FFE2844EF40]
int       3
M09_L02
 
test      rbx,rbx
je        short M09_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M09_L04
M09_L03
 
mov       rax,24409960008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 
System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rsi,rcx
mov       rbx,rdx
mov       rdi,[rbx]
M10_L00
 
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L02
M10_L01
 
mov       rcx,7FFE28DC2734
call      CORINFO_HELP_COUNTPROFILE32
mov       rax,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M10_L02
 
test      rdi,rdi
je        near ptr M10_L08
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L03
mov       rcx,7FFE28DC2730
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L03
 
test      rdi,rdi
je        short M10_L04
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L05
mov       rcx,7FFE28DC2728
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L04
 
mov       rcx,7FFE28DC272C
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
M10_L05
 
test      rdi,rdi
je        short M10_L07
mov       rdi,[rdi+10]
cmp       rdi,rsi
je        short M10_L06
test      rdi,rdi
je        short M10_L09
mov       rcx,7FFE28DC271C
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L00
M10_L06
 
mov       rcx,7FFE28DC2720
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L01
M10_L07
 
mov       rcx,7FFE28DC2724
call      CORINFO_HELP_COUNTPROFILE32
M10_L08
 
mov       rcx,7FFE28DC2738
call      CORINFO_HELP_COUNTPROFILE32
mov       rcx,rsi
mov       rdx,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281E43A8]
M10_L09
 
mov       rcx,7FFE28DC2718
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.RemoveCRLF01()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,40
xor       eax,eax
mov       [rsp+38],rax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
test      rcx,rcx
je        near ptr M00_L07
mov       [rsp+38],rcx
mov       rcx,22B8180EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M00_L00
mov       rcx,rsi
call      qword ptr [7FFE28726A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M00_L00
 
mov       rcx,rsi
call      qword ptr [7FFE28726328]; System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
mov       r8,rax
test      r8,r8
jne       short M00_L02
M00_L01
 
lea       rdx,[rsp+38]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28BA6F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
test      rax,rax
je        short M00_L03
mov       ecx,[rax+8]
xor       edx,edx
test      ecx,ecx
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      ecx,ecx
jne       short M00_L04
jmp       short M00_L04
M00_L02
 
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M00_L08
jmp       short M00_L01
M00_L03
 
xor       edx,edx
M00_L04
 
test      edx,edx
je        near ptr M00_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28207318]; System.String.Trim()
mov       rdx,rax
mov       rcx,offset MD_DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.String, System.Private.CoreLib]](System.String)
call      qword ptr [7FFE28C0C1F8]; DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
test      rax,rax
je        near ptr M00_L11
mov       rcx,22B8180D958
mov       rsi,[rcx]
mov       rdi,rax
mov       rbp,rdi
test      byte ptr [rsi+40],40
je        near ptr M00_L12
mov       r14d,[rdi+8]
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE2864D830]; System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
mov       rcx,rax
mov       r8,[rsi+20]
mov       [rsp+20],r8
mov       r8d,[rsi+40]
mov       [rsp+28],r8d
mov       r8,[rsi+18]
mov       r9d,[rsi+44]
mov       rdx,26C13860008
call      qword ptr [7FFE28CCCCC0]; System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
mov       rcx,rax
mov       [rsp+20],r14d
mov       rdx,rsi
mov       r8,rdi
mov       r9d,0FFFFFFFF
cmp       [rcx],ecx
call      qword ptr [7FFE28CCCD20]; System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M00_L06
 
mov       [rsp+30],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,40
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L07
 
call      qword ptr [7FFE28785230]
mov       ecx,76B
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rbp,rax
mov       ecx,1464
mov       rdx,7FFE28595108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbp
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE28703548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE28206B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28785020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L08
 
mov       rdx,rax
call      qword ptr [7FFE282043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M00_L09
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L10
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L10
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,26C138741F0
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L11
 
xor       eax,eax
jmp       near ptr M00_L06
M00_L12
 
mov       rdi,rbp
xor       r14d,r14d
jmp       near ptr M00_L05
 
System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L00
 
push      rbp
sub       rsp,80
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L01
 
vmovdqa   xmmword ptr [rax+rbp],xmm4
vmovdqa   xmmword ptr [rbp+rax+10],xmm4
vmovdqa   xmmword ptr [rbp+rax+20],xmm4
add       rax,30
jne       short M01_L01
mov       [rbp+10],rcx
call      qword ptr [7FFE28727750]; System.Text.Json.JsonSerializer.get_IsReflectionEnabledByDefault()
test      eax,eax
je        near ptr M01_L05
call      qword ptr [7FFE2878D908]; System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.get_DefaultInstance()
mov       [rbp-18],rax
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L02
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.JsonSerializerContext
call      qword ptr [7FFE28204360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       [rbp-28],rax
cmp       qword ptr [rbp-28],0
jne       short M01_L03
jmp       near ptr M01_L09
M01_L02
 
mov       rcx,[rbp+10]
lea       rcx,[rcx+20]
mov       rdx,[rbp-18]
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M01_L09
M01_L03
 
call      qword ptr [7FFE28727150]
test      eax,eax
je        near ptr M01_L09
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-10],xmm0
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
xor       r8d,r8d
call      qword ptr [7FFE2878DB18]
mov       rdx,[rbp-28]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r8d,1
call      qword ptr [7FFE2878DB18]
mov       rdx,[rbp-18]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rbp-48]
lea       r8,[rbp-10]
mov       rdx,offset MD_.InlineArrayAsReadOnlySpan[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r9d,2
call      qword ptr [7FFE2878DB48]
mov       rcx,[rbp+10]
lea       rcx,[rcx+60]
mov       [rbp-60],rcx
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-58],xmm0
lea       rcx,[rbp-58]
call      qword ptr [7FFE2878DB90]
mov       rcx,[rbp-60]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp+10]
mov       rcx,[rcx+8]
mov       [rbp-20],rcx
cmp       qword ptr [rbp-20],0
je        near ptr M01_L09
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2878D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
cmp       rax,[rbp+10]
je        short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2878D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
movzx     ecx,byte ptr [rax+9E]
test      ecx,ecx
jne       short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2878D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28726A18]
jmp       short M01_L09
M01_L04
 
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2878DA28]
jmp       short M01_L09
M01_L05
 
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L06
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.EmptyJsonTypeInfoResolver
call      qword ptr [7FFE28204360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        short M01_L07
M01_L06
 
mov       dword ptr [rbp-34],1
jmp       short M01_L08
M01_L07
 
xor       eax,eax
mov       [rbp-34],eax
M01_L08
 
cmp       dword ptr [rbp-34],0
je        short M01_L09
call      qword ptr [7FFE2872D098]
M01_L09
 
mov       rax,[rbp+10]
mov       byte ptr [rax+9D],1
mov       rax,[rbp+10]
mov       byte ptr [rax+9E],1
add       rsp,80
pop       rbp
ret
 
System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
push      rsi
push      rbx
sub       rsp,38
mov       rbx,rcx
mov       rax,[rbx+18]
test      rax,rax
je        short M02_L01
M02_L00
 
add       rsp,38
pop       rbx
pop       rsi
ret
M02_L01
 
mov       byte ptr [rsp+30],1
mov       byte ptr [rsp+31],1
xor       ecx,ecx
mov       [rsp+20],ecx
mov       [rsp+28],ecx
mov       rcx,rbx
movzx     r9d,word ptr [rsp+30]
mov       rdx,26C13862D10
mov       r8d,1
call      qword ptr [7FFE287262C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rsi,rax
lea       rcx,[rbx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rsi
jmp       short M02_L00
 
System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
vzeroupper
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-98],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-90],xmm4
vmovdqa   xmmword ptr [rbp-80],xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-0A0],rsp
mov       rsi,rdx
mov       rbx,r8
mov       rdi,[rbx+0B0]
lea       rdx,[rbp-48]
mov       rcx,rdi
cmp       [rcx],ecx
call      qword ptr [7FFE28726A90]; System.Text.Json.JsonSerializerOptions.GetWriterOptions()
mov       edi,[rdi+7C]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        near ptr M03_L11
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
je        near ptr M03_L11
mov       rax,[rcx]
add       rax,10
mov       r14,[rax]
test      r14,r14
je        near ptr M03_L12
M03_L00
 
mov       ecx,[r14+18]
lea       edx,[rcx+1]
mov       [r14+18],edx
test      ecx,ecx
jne       near ptr M03_L15
mov       rcx,[r14+8]
mov       [rbp-90],rcx
mov       r14,[r14+10]
mov       rcx,[rbp-90]
cmp       [rcx],cl
mov       rcx,22B81801F20
mov       rcx,[rcx]
mov       edx,edi
call      qword ptr [7FFE28A00B38]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Rent(Int32)
mov       rcx,[rbp-90]
lea       rcx,[rcx+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp-90]
xor       edx,edx
mov       [rcx+20],edx
lea       rcx,[r14+8]
mov       rdx,[rbp-90]
call      CORINFO_HELP_ASSIGN_REF
mov       edi,[rbp-3C]
lea       rcx,[r14+68]
mov       rdx,[rbp-48]
call      CORINFO_HELP_ASSIGN_REF
mov       ecx,[rbp-40]
mov       [r14+70],ecx
mov       ecx,[rbp-3C]
mov       [r14+74],ecx
mov       ecx,9
mov       edx,20
test      byte ptr [r14+74],8
cmove     ecx,edx
mov       [r14+3B],cl
mov       ecx,edi
and       ecx,7F0
sar       ecx,4
je        short M03_L01
xor       edx,edx
cmp       ecx,2
cmovne    edx,ecx
jmp       short M03_L02
M03_L01
 
mov       edx,2
M03_L02
 
mov       [r14+2C],edx
test      dil,4
jne       near ptr M03_L13
mov       rdi,26C13861C08
M03_L03
 
mov       ecx,[rdi+8]
mov       [r14+30],ecx
cmp       dword ptr [r14+70],0
je        near ptr M03_L14
M03_L04
 
mov       [rbp-88],r14
mov       rcx,rbx
mov       rdx,r14
mov       r8,rsi
xor       r9d,r9d
call      qword ptr [7FFE2878D0B0]; System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.__Canon, System.Private.CoreLib]].Serialize(System.Text.Json.Utf8JsonWriter, System.__Canon ByRef, System.Object)
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rax,[rbp-90]
mov       r15d,[rax+20]
test      rcx,rcx
je        short M03_L08
cmp       [rcx+8],r15d
jb        short M03_L07
M03_L05
 
xor       r13d,r13d
xor       r12d,r12d
test      rcx,rcx
je        short M03_L10
mov       rax,[rcx]
test      dword ptr [rax],80000000
je        short M03_L09
lea       r13,[rcx+10]
mov       r12d,[rcx+8]
M03_L06
 
mov       ecx,r15d
mov       eax,r12d
cmp       rcx,rax
ja        short M03_L07
mov       r12d,r15d
jmp       short M03_L10
M03_L07
 
call      qword ptr [7FFE2846E9D0]
int       3
M03_L08
 
test      r15d,r15d
jne       short M03_L07
xor       ecx,ecx
xor       r15d,r15d
jmp       short M03_L05
M03_L09
 
lea       rdx,[rbp-58]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
mov       r13,[rbp-58]
mov       r12d,[rbp-50]
jmp       short M03_L06
M03_L10
 
mov       rcx,r13
mov       [rbp-80],rcx
mov       [rbp-78],r12d
lea       rcx,[rbp-80]
call      qword ptr [7FFE2878E5E0]; System.Text.Json.JsonReaderHelper.TranscodeHelper(System.ReadOnlySpan`1)
mov       [rbp-98],rax
mov       rcx,rsp
call      M03_L16
nop
mov       rax,[rbp-98]
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M03_L11
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       r14,[rax]
test      r14,r14
jne       near ptr M03_L00
M03_L12
 
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriterCache+ThreadLocalState
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
call      qword ptr [7FFE28BA7D98]; System.Text.Json.Utf8JsonWriterCache+ThreadLocalState..ctor()
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       rcx,rax
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M03_L00
M03_L13
 
mov       rcx,7FFE287363A8
mov       edx,69
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,22B8180F6D8
mov       rdi,[rcx]
jmp       near ptr M03_L03
M03_L14
 
lea       rcx,[r14+68]
mov       edx,3E8
call      qword ptr [7FFE28AD72E8]; System.Text.Json.JsonWriterOptions.set_MaxDepth(Int32)
jmp       near ptr M03_L04
M03_L15
 
mov       rcx,offset MT_System.Text.Json.PooledByteBufferWriter
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       edx,edi
call      qword ptr [7FFE28B579D8]
mov       [rbp-90],r14
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriter
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rdx,r14
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,r13
lea       r8,[rbp-70]
call      qword ptr [7FFE28AD7468]
mov       r14,r13
jmp       near ptr M03_L04
M03_L16
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0C0]
mov       r14,[rbp-90]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        short M03_L17
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
jne       short M03_L18
M03_L17
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp       short M03_L19
M03_L18
 
mov       rax,[rcx]
add       rax,10
M03_L19
 
mov       r15,[rax]
xor       ecx,ecx
mov       r12,[rbp-88]
mov       [r12+34],ecx
mov       [r12+20],rcx
mov       [r12+40],rcx
mov       [r12+48],rcx
mov       byte ptr [r12+38],0
mov       byte ptr [r12+3A],0
mov       byte ptr [r12+39],0
mov       [r12+28],ecx
mov       [r12+50],rcx
mov       [r12+58],rcx
mov       [r12+60],rcx
mov       [r12+10],rcx
mov       [r12+18],rcx
mov       [r12+8],rcx
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rdx,[rbp-90]
mov       r8d,[rdx+20]
test      rcx,rcx
jne       short M03_L20
test      r8d,r8d
jne       short M03_L21
xor       ecx,ecx
xor       r8d,r8d
jmp       short M03_L23
M03_L20
 
cmp       [rcx+8],r8d
jae       short M03_L22
M03_L21
 
call      qword ptr [7FFE2846E9D0]
int       3
M03_L22
 
add       rcx,10
M03_L23
 
mov       edx,r8d
mov       [rbp-60],rdx
test      rdx,rdx
je        short M03_L25
cmp       rdx,300
ja        short M03_L24
xor       edx,edx
mov       r8d,[rbp-60]
call      CORINFO_HELP_MEMSET
jmp       short M03_L25
M03_L24
 
call      qword ptr [7FFE282B5BA8]; System.Buffer._ZeroMemory(Byte ByRef, UIntPtr)
M03_L25
 
xor       ecx,ecx
mov       [r14+20],ecx
mov       rdx,[r14+10]
mov       [r14+10],rcx
mov       rcx,22B81801F20
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A00B40]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Return(Byte[], Boolean)
dec       dword ptr [r15+18]
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Trim()
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,[rbx+8]
test      esi,esi
je        short M04_L03
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M04_L00
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L01
M04_L00
 
call      qword ptr [7FFE28D35E60]
test      eax,eax
jne       short M04_L04
M04_L01
 
dec       esi
mov       ecx,esi
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M04_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L03
M04_L02
 
call      qword ptr [7FFE28D35E60]
test      eax,eax
jne       short M04_L04
M04_L03
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rsi
ret
M04_L04
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
nop
add       rsp,28
pop       rbx
pop       rsi
ret
 
DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
push      rsi
push      rbx
sub       rsp,58
vzeroupper
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       [rsp+50],rcx
mov       rsi,rcx
mov       rbx,rdx
mov       rcx,rbx
test      rcx,rcx
je        short M05_L00
mov       eax,[rcx+8]
xor       edx,edx
test      eax,eax
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      eax,eax
jne       short M05_L01
jmp       short M05_L01
M05_L00
 
xor       edx,edx
M05_L01
 
test      edx,edx
je        near ptr M05_L10
cmp       [rcx],ecx
call      qword ptr [7FFE28207318]; System.String.Trim()
mov       rbx,rax
mov       rcx,[rsi+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M05_L03
M05_L02
 
mov       r8,22B8180DA78
mov       r8,[r8]
mov       rdx,rbx
call      qword ptr [7FFE28C0C258]; System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String, System.Text.Json.JsonSerializerOptions)
test      rax,rax
je        near ptr M05_L12
add       rsp,58
pop       rbx
pop       rsi
ret
M05_L03
 
mov       rcx,rsi
mov       rdx,7FFE28BFB4C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M05_L02
M05_L04
 
lea       rcx,[rsp+28]
mov       rdx,26C13878068
call      qword ptr [7FFE283F58F0]
M05_L05
 
mov       rcx,[rsi+10]
mov       rcx,[rcx]
call      CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
mov       r8,rax
lea       rcx,[rsp+28]
mov       rdx,offset MD_System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.Type, System.Private.CoreLib]](System.Type)
call      qword ptr [7FFE2864E100]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.__Canon, System.Private.CoreLib]](System.__Canon)
mov       ebx,[rsp+38]
cmp       ebx,[rsp+48]
jbe       short M05_L07
M05_L06
 
call      qword ptr [7FFE2846E9D0]
int       3
M05_L07
 
mov       rcx,[rsp+40]
mov       edx,ebx
lea       rcx,[rcx+rdx*2]
mov       edx,[rsp+48]
sub       edx,ebx
cmp       edx,1
jb        short M05_L08
mov       rdx,26C13860C54
movzx     eax,word ptr [rdx]
mov       [rcx],ax
mov       ecx,[rsp+38]
inc       ecx
mov       [rsp+38],ecx
jmp       short M05_L09
M05_L08
 
lea       rcx,[rsp+28]
mov       rdx,26C13860C48
call      qword ptr [7FFE283F58F0]
M05_L09
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rsp+28]
call      qword ptr [7FFE283F5740]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear()
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28496718]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L10
 
call      qword ptr [7FFE287852D8]
mov       rsi,rax
test      rsi,rsi
jne       short M05_L11
call      qword ptr [7FFE28785020]
mov       rsi,rax
M05_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,26C138741F0
mov       r8,rsi
call      qword ptr [7FFE28496670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L12
 
lea       rcx,[rsp+28]
mov       edx,2A
mov       r8d,1
call      qword ptr [7FFE283F56B0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(Int32, Int32)
mov       ecx,[rsp+38]
cmp       ecx,[rsp+48]
ja        near ptr M05_L06
mov       rdx,[rsp+40]
mov       eax,ecx
lea       rdx,[rdx+rax*2]
mov       eax,[rsp+48]
sub       eax,ecx
cmp       eax,29
jb        near ptr M05_L04
mov       rcx,26C13878074
vmovdqu   ymm0,ymmword ptr [rcx]
vmovdqu   ymm1,ymmword ptr [rcx+20]
vmovdqu   ymm2,ymmword ptr [rcx+32]
vmovdqu   ymmword ptr [rdx],ymm0
vmovdqu   ymmword ptr [rdx+20],ymm1
vmovdqu   ymmword ptr [rdx+32],ymm2
mov       ecx,[rsp+38]
add       ecx,29
mov       [rsp+38],ecx
jmp       near ptr M05_L05
 
System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rax,[rbx+30]
test      rax,rax
je        short M06_L01
M06_L00
 
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M06_L01
 
lea       rsi,[rbx+30]
mov       rcx,offset MT_System.WeakReference`1[[System.Text.RegularExpressions.RegexReplacement, System.Text.RegularExpressions]]
call      CORINFO_HELP_NEWFAST
mov       rdi,rax
mov       rcx,rdi
xor       edx,edx
xor       r8d,r8d
call      qword ptr [7FFE282BD098]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].Create(System.__Canon, Boolean)
mov       rcx,rsi
mov       rdx,rdi
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
jne       short M06_L00
mov       rax,[rbx+30]
jmp       short M06_L00
 
System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       rdi,r8
mov       ebp,r9d
mov       rcx,[rbx+8]
and       rcx,0FFFFFFFFFFFFFFFE
je        short M07_L02
test      cl,2
jne       short M07_L03
mov       r14,[rcx]
M07_L00
 
test      r14,r14
je        short M07_L05
mov       r15,[r14+18]
cmp       [r15],r15b
cmp       r15,rsi
jne       short M07_L04
M07_L01
 
mov       rax,r14
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M07_L02
 
xor       r14d,r14d
jmp       short M07_L00
M07_L03
 
and       rcx,0FFFFFFFFFFFFFFFC
mov       rcx,[rcx]
cmp       [rcx],ecx
call      qword ptr [7FFE28E5FB88]
mov       r14,rax
jmp       short M07_L00
M07_L04
 
test      rsi,rsi
je        short M07_L05
mov       r8d,[r15+8]
cmp       r8d,[rsi+8]
jne       short M07_L05
lea       rcx,[r15+0C]
mov       r8d,[r15+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282B5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
test      eax,eax
jne       short M07_L01
M07_L05
 
mov       r14,[rsp+80]
mov       [rsp+20],r14
mov       rcx,rsi
mov       edx,[rsp+88]
mov       r8,rdi
mov       r9d,ebp
call      qword ptr [7FFE28CCD260]; System.Text.RegularExpressions.RegexParser.ParseReplacement(System.String, System.Text.RegularExpressions.RegexOptions, System.Collections.Hashtable, Int32, System.Collections.Hashtable)
mov       r14,rax
mov       rcx,rbx
mov       rdx,r14
call      qword ptr [7FFE282BD0B0]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].SetTarget(System.__Canon)
jmp       near ptr M07_L01
 
System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
sub       rsp,28
mov       eax,[rsp+50]
cmp       r9d,0FFFFFFFF
jl        short M08_L01
cmp       [r8+8],eax
jb        short M08_L02
test      r9d,r9d
je        short M08_L03
test      byte ptr [rdx+40],40
je        short M08_L04
M08_L00
 
mov       [rsp+50],eax
add       rsp,28
jmp       qword ptr [7FFE28CCCD50]; System.Text.RegularExpressions.RegexReplacement.ReplaceNonSimpleText(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M08_L01
 
mov       ecx,3
mov       edx,1
call      qword ptr [7FFE28E5FAB0]
int       3
M08_L02
 
mov       ecx,0E
xor       edx,edx
call      qword ptr [7FFE28E5FAB0]
int       3
M08_L03
 
mov       rax,r8
add       rsp,28
ret
M08_L04
 
cmp       byte ptr [rcx+20],0
jne       short M08_L00
mov       r10,[rcx+10]
cmp       dword ptr [r10+8],0
jne       short M08_L05
mov       rcx,rdx
mov       r10,26C13860008
jmp       short M08_L06
M08_L05
 
mov       r10,[rcx+8]
cmp       dword ptr [r10+8],0
jbe       short M08_L07
mov       r10,[r10+10]
mov       rcx,rdx
M08_L06
 
mov       [rsp+50],eax
mov       rdx,r8
mov       r8,r10
add       rsp,28
jmp       qword ptr [7FFE28CCCD38]
M08_L07
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M09_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M09_L02
test      rbx,rbx
je        short M09_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M09_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M09_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE282B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE282B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L01
 
call      qword ptr [7FFE2846EF40]
int       3
M09_L02
 
test      rbx,rbx
je        short M09_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M09_L04
M09_L03
 
mov       rax,26C13860008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 
System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rsi,rcx
mov       rbx,rdx
mov       rdi,[rbx]
M10_L00
 
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L02
M10_L01
 
mov       rcx,7FFE28DE2734
call      CORINFO_HELP_COUNTPROFILE32
mov       rax,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M10_L02
 
test      rdi,rdi
je        near ptr M10_L08
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L03
mov       rcx,7FFE28DE2730
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L03
 
test      rdi,rdi
je        short M10_L04
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L05
mov       rcx,7FFE28DE2728
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L04
 
mov       rcx,7FFE28DE272C
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
M10_L05
 
test      rdi,rdi
je        short M10_L07
mov       rdi,[rdi+10]
cmp       rdi,rsi
je        short M10_L06
test      rdi,rdi
je        short M10_L09
mov       rcx,7FFE28DE271C
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L00
M10_L06
 
mov       rcx,7FFE28DE2720
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L01
M10_L07
 
mov       rcx,7FFE28DE2724
call      CORINFO_HELP_COUNTPROFILE32
M10_L08
 
mov       rcx,7FFE28DE2738
call      CORINFO_HELP_COUNTPROFILE32
mov       rcx,rsi
mov       rdx,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
jmp       qword ptr [7FFE282043A8]
M10_L09
 
mov       rcx,7FFE28DE2718
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.RemoveCRLF01()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,40
xor       eax,eax
mov       [rsp+38],rax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
test      rcx,rcx
je        near ptr M00_L07
mov       [rsp+38],rcx
mov       rcx,283C600EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M00_L00
mov       rcx,rsi
call      qword ptr [7FFE28736A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M00_L00
 
mov       rcx,rsi
call      qword ptr [7FFE28736328]; System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
mov       r8,rax
test      r8,r8
jne       short M00_L02
M00_L01
 
lea       rdx,[rsp+38]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28BB6F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
test      rax,rax
je        short M00_L03
mov       ecx,[rax+8]
xor       edx,edx
test      ecx,ecx
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      ecx,ecx
jne       short M00_L04
jmp       short M00_L04
M00_L02
 
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M00_L08
jmp       short M00_L01
M00_L03
 
xor       edx,edx
M00_L04
 
test      edx,edx
je        near ptr M00_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28217318]; System.String.Trim()
mov       rdx,rax
mov       rcx,offset MD_DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.String, System.Private.CoreLib]](System.String)
call      qword ptr [7FFE28C1C1F8]; DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
test      rax,rax
je        near ptr M00_L11
mov       rcx,283C600D958
mov       rsi,[rcx]
mov       rdi,rax
mov       rbp,rdi
test      byte ptr [rsi+40],40
je        near ptr M00_L12
mov       r14d,[rdi+8]
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE2865D830]; System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
mov       rcx,rax
mov       r8,[rsi+20]
mov       [rsp+20],r8
mov       r8d,[rsi+40]
mov       [rsp+28],r8d
mov       r8,[rsi+18]
mov       r9d,[rsi+44]
mov       rdx,2C457E30008
call      qword ptr [7FFE28CDCCC0]; System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
mov       rcx,rax
mov       [rsp+20],r14d
mov       rdx,rsi
mov       r8,rdi
mov       r9d,0FFFFFFFF
cmp       [rcx],ecx
call      qword ptr [7FFE28CDCD20]; System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M00_L06
 
mov       [rsp+30],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,40
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L07
 
call      qword ptr [7FFE28795230]
mov       ecx,76B
mov       rdx,7FFE28713548
call      CORINFO_HELP_STRCNS
mov       rbp,rax
mov       ecx,1464
mov       rdx,7FFE285A5108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbp
call      qword ptr [7FFE28216B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE28713548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE28216B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28795020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L08
 
mov       rdx,rax
call      qword ptr [7FFE282143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M00_L09
 
call      qword ptr [7FFE287952D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L10
call      qword ptr [7FFE28795020]
mov       rbx,rax
M00_L10
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,2C457E441F0
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L11
 
xor       eax,eax
jmp       near ptr M00_L06
M00_L12
 
mov       rdi,rbp
xor       r14d,r14d
jmp       near ptr M00_L05
 
System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L00
 
push      rbp
sub       rsp,80
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L01
 
vmovdqa   xmmword ptr [rax+rbp],xmm4
vmovdqa   xmmword ptr [rbp+rax+10],xmm4
vmovdqa   xmmword ptr [rbp+rax+20],xmm4
add       rax,30
jne       short M01_L01
mov       [rbp+10],rcx
call      qword ptr [7FFE28737750]; System.Text.Json.JsonSerializer.get_IsReflectionEnabledByDefault()
test      eax,eax
je        near ptr M01_L05
call      qword ptr [7FFE2879D908]; System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.get_DefaultInstance()
mov       [rbp-18],rax
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L02
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.JsonSerializerContext
call      qword ptr [7FFE28214360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       [rbp-28],rax
cmp       qword ptr [rbp-28],0
jne       short M01_L03
jmp       near ptr M01_L09
M01_L02
 
mov       rcx,[rbp+10]
lea       rcx,[rcx+20]
mov       rdx,[rbp-18]
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M01_L09
M01_L03
 
call      qword ptr [7FFE28737150]
test      eax,eax
je        near ptr M01_L09
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-10],xmm0
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
xor       r8d,r8d
call      qword ptr [7FFE2879DB18]
mov       rdx,[rbp-28]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r8d,1
call      qword ptr [7FFE2879DB18]
mov       rdx,[rbp-18]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rbp-48]
lea       r8,[rbp-10]
mov       rdx,offset MD_.InlineArrayAsReadOnlySpan[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r9d,2
call      qword ptr [7FFE2879DB48]
mov       rcx,[rbp+10]
lea       rcx,[rcx+60]
mov       [rbp-60],rcx
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-58],xmm0
lea       rcx,[rbp-58]
call      qword ptr [7FFE2879DB90]
mov       rcx,[rbp-60]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp+10]
mov       rcx,[rcx+8]
mov       [rbp-20],rcx
cmp       qword ptr [rbp-20],0
je        near ptr M01_L09
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2879D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
cmp       rax,[rbp+10]
je        short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2879D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
movzx     ecx,byte ptr [rax+9E]
test      ecx,ecx
jne       short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2879D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28736A18]
jmp       short M01_L09
M01_L04
 
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2879DA28]
jmp       short M01_L09
M01_L05
 
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L06
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.EmptyJsonTypeInfoResolver
call      qword ptr [7FFE28214360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        short M01_L07
M01_L06
 
mov       dword ptr [rbp-34],1
jmp       short M01_L08
M01_L07
 
xor       eax,eax
mov       [rbp-34],eax
M01_L08
 
cmp       dword ptr [rbp-34],0
je        short M01_L09
call      qword ptr [7FFE2873D098]
M01_L09
 
mov       rax,[rbp+10]
mov       byte ptr [rax+9D],1
mov       rax,[rbp+10]
mov       byte ptr [rax+9E],1
add       rsp,80
pop       rbp
ret
 
System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
push      rsi
push      rbx
sub       rsp,38
mov       rbx,rcx
mov       rax,[rbx+18]
test      rax,rax
je        short M02_L01
M02_L00
 
add       rsp,38
pop       rbx
pop       rsi
ret
M02_L01
 
mov       byte ptr [rsp+30],1
mov       byte ptr [rsp+31],1
xor       ecx,ecx
mov       [rsp+20],ecx
mov       [rsp+28],ecx
mov       rcx,rbx
movzx     r9d,word ptr [rsp+30]
mov       rdx,2C457E32D10
mov       r8d,1
call      qword ptr [7FFE287362C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rsi,rax
lea       rcx,[rbx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rsi
jmp       short M02_L00
 
System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
vzeroupper
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-98],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-90],xmm4
vmovdqa   xmmword ptr [rbp-80],xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-0A0],rsp
mov       rsi,rdx
mov       rbx,r8
mov       rdi,[rbx+0B0]
lea       rdx,[rbp-48]
mov       rcx,rdi
cmp       [rcx],ecx
call      qword ptr [7FFE28736A90]; System.Text.Json.JsonSerializerOptions.GetWriterOptions()
mov       edi,[rdi+7C]
mov       rcx,gs:[58]
mov       rcx,[rcx+38]
cmp       dword ptr [rcx+190],3
jl        near ptr M03_L11
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
je        near ptr M03_L11
mov       rax,[rcx]
add       rax,10
mov       r14,[rax]
test      r14,r14
je        near ptr M03_L12
M03_L00
 
mov       ecx,[r14+18]
lea       edx,[rcx+1]
mov       [r14+18],edx
test      ecx,ecx
jne       near ptr M03_L15
mov       rcx,[r14+8]
mov       [rbp-90],rcx
mov       r14,[r14+10]
mov       rcx,[rbp-90]
cmp       [rcx],cl
mov       rcx,283C6001F20
mov       rcx,[rcx]
mov       edx,edi
call      qword ptr [7FFE28A10530]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Rent(Int32)
mov       rcx,[rbp-90]
lea       rcx,[rcx+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp-90]
xor       edx,edx
mov       [rcx+20],edx
lea       rcx,[r14+8]
mov       rdx,[rbp-90]
call      CORINFO_HELP_ASSIGN_REF
mov       edi,[rbp-3C]
lea       rcx,[r14+68]
mov       rdx,[rbp-48]
call      CORINFO_HELP_ASSIGN_REF
mov       ecx,[rbp-40]
mov       [r14+70],ecx
mov       ecx,[rbp-3C]
mov       [r14+74],ecx
mov       ecx,9
mov       edx,20
test      byte ptr [r14+74],8
cmove     ecx,edx
mov       [r14+3B],cl
mov       ecx,edi
and       ecx,7F0
sar       ecx,4
je        short M03_L01
xor       edx,edx
cmp       ecx,2
cmovne    edx,ecx
jmp       short M03_L02
M03_L01
 
mov       edx,2
M03_L02
 
mov       [r14+2C],edx
test      dil,4
jne       near ptr M03_L13
mov       rdi,2C457E31C08
M03_L03
 
mov       ecx,[rdi+8]
mov       [r14+30],ecx
cmp       dword ptr [r14+70],0
je        near ptr M03_L14
M03_L04
 
mov       [rbp-88],r14
mov       rcx,rbx
mov       rdx,r14
mov       r8,rsi
xor       r9d,r9d
call      qword ptr [7FFE2879D0B0]; System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.__Canon, System.Private.CoreLib]].Serialize(System.Text.Json.Utf8JsonWriter, System.__Canon ByRef, System.Object)
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rax,[rbp-90]
mov       r15d,[rax+20]
test      rcx,rcx
je        short M03_L08
cmp       [rcx+8],r15d
jb        short M03_L07
M03_L05
 
xor       r13d,r13d
xor       r12d,r12d
test      rcx,rcx
je        short M03_L10
mov       rax,[rcx]
test      dword ptr [rax],80000000
je        short M03_L09
lea       r13,[rcx+10]
mov       r12d,[rcx+8]
M03_L06
 
cmp       r15d,r12d
ja        short M03_L07
mov       r12d,r15d
jmp       short M03_L10
M03_L07
 
call      qword ptr [7FFE2847E9D0]
int       3
M03_L08
 
test      r15d,r15d
jne       short M03_L07
xor       ecx,ecx
xor       r15d,r15d
jmp       short M03_L05
M03_L09
 
lea       rdx,[rbp-58]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
mov       r13,[rbp-58]
mov       r12d,[rbp-50]
jmp       short M03_L06
M03_L10
 
mov       rcx,r13
mov       [rbp-80],rcx
mov       [rbp-78],r12d
lea       rcx,[rbp-80]
call      qword ptr [7FFE2879E5E0]; System.Text.Json.JsonReaderHelper.TranscodeHelper(System.ReadOnlySpan`1)
mov       [rbp-98],rax
mov       rcx,rsp
call      M03_L16
nop
mov       rax,[rbp-98]
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M03_L11
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       r14,[rax]
test      r14,r14
jne       near ptr M03_L00
M03_L12
 
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriterCache+ThreadLocalState
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
call      qword ptr [7FFE28BB7D98]; System.Text.Json.Utf8JsonWriterCache+ThreadLocalState..ctor()
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       rcx,rax
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M03_L00
M03_L13
 
mov       rcx,7FFE287463A8
mov       edx,69
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,283C600F6D8
mov       rdi,[rcx]
jmp       near ptr M03_L03
M03_L14
 
lea       rcx,[r14+68]
mov       edx,3E8
call      qword ptr [7FFE28AE72E8]; System.Text.Json.JsonWriterOptions.set_MaxDepth(Int32)
jmp       near ptr M03_L04
M03_L15
 
mov       rcx,offset MT_System.Text.Json.PooledByteBufferWriter
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       edx,edi
call      qword ptr [7FFE28B679D8]
mov       [rbp-90],r14
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriter
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rdx,r14
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,r13
lea       r8,[rbp-70]
call      qword ptr [7FFE28AE7468]
mov       r14,r13
jmp       near ptr M03_L04
M03_L16
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0C0]
mov       r14,[rbp-90]
mov       rcx,gs:[58]
mov       rcx,[rcx+38]
cmp       dword ptr [rcx+190],3
jl        short M03_L17
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
jne       short M03_L18
M03_L17
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp       short M03_L19
M03_L18
 
mov       rax,[rcx]
add       rax,10
M03_L19
 
mov       r15,[rax]
xor       ecx,ecx
mov       r12,[rbp-88]
mov       [r12+34],ecx
mov       [r12+20],rcx
mov       [r12+40],rcx
mov       [r12+48],rcx
mov       byte ptr [r12+38],0
mov       byte ptr [r12+3A],0
mov       byte ptr [r12+39],0
mov       [r12+28],ecx
mov       [r12+50],rcx
mov       [r12+58],rcx
mov       [r12+60],rcx
mov       [r12+10],rcx
mov       [r12+18],rcx
mov       [r12+8],rcx
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rdx,[rbp-90]
mov       r8d,[rdx+20]
test      rcx,rcx
jne       short M03_L20
test      r8d,r8d
jne       short M03_L21
xor       ecx,ecx
xor       r8d,r8d
jmp       short M03_L23
M03_L20
 
cmp       [rcx+8],r8d
jae       short M03_L22
M03_L21
 
call      qword ptr [7FFE2847E9D0]
int       3
M03_L22
 
add       rcx,10
M03_L23
 
mov       edx,r8d
mov       [rbp-60],rdx
test      rdx,rdx
je        short M03_L25
cmp       rdx,300
ja        short M03_L24
xor       edx,edx
mov       r8d,[rbp-60]
call      CORINFO_HELP_MEMSET
jmp       short M03_L25
M03_L24
 
call      qword ptr [7FFE282C5BA8]; System.Buffer._ZeroMemory(Byte ByRef, UIntPtr)
M03_L25
 
xor       ecx,ecx
mov       [r14+20],ecx
mov       rdx,[r14+10]
mov       [r14+10],rcx
mov       rcx,283C6001F20
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A10538]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Return(Byte[], Boolean)
dec       dword ptr [r15+18]
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Trim()
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,[rbx+8]
test      esi,esi
je        short M04_L03
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M04_L00
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L01
M04_L00
 
call      qword ptr [7FFE28D35B90]
test      eax,eax
jne       short M04_L04
M04_L01
 
dec       esi
mov       ecx,esi
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M04_L02
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L03
M04_L02
 
call      qword ptr [7FFE28D35B90]
test      eax,eax
jne       short M04_L04
M04_L03
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rsi
ret
M04_L04
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
nop
add       rsp,28
pop       rbx
pop       rsi
ret
 
DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
push      rsi
push      rbx
sub       rsp,58
vzeroupper
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       [rsp+50],rcx
mov       rsi,rcx
mov       rbx,rdx
mov       rcx,rbx
test      rcx,rcx
je        short M05_L00
mov       eax,[rcx+8]
xor       edx,edx
test      eax,eax
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      eax,eax
jne       short M05_L01
jmp       short M05_L01
M05_L00
 
xor       edx,edx
M05_L01
 
test      edx,edx
je        near ptr M05_L10
cmp       [rcx],ecx
call      qword ptr [7FFE28217318]; System.String.Trim()
mov       rbx,rax
mov       rcx,[rsi+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M05_L03
M05_L02
 
mov       r8,283C600DA78
mov       r8,[r8]
mov       rdx,rbx
call      qword ptr [7FFE28C1C258]; System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String, System.Text.Json.JsonSerializerOptions)
test      rax,rax
je        near ptr M05_L12
add       rsp,58
pop       rbx
pop       rsi
ret
M05_L03
 
mov       rcx,rsi
mov       rdx,7FFE28C0B4C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M05_L02
M05_L04
 
lea       rcx,[rsp+28]
mov       rdx,2C457E48068
call      qword ptr [7FFE284058F0]
M05_L05
 
mov       rcx,[rsi+10]
mov       rcx,[rcx]
call      CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
mov       r8,rax
lea       rcx,[rsp+28]
mov       rdx,offset MD_System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.Type, System.Private.CoreLib]](System.Type)
call      qword ptr [7FFE2865E100]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.__Canon, System.Private.CoreLib]](System.__Canon)
mov       ebx,[rsp+38]
cmp       ebx,[rsp+48]
jbe       short M05_L07
M05_L06
 
call      qword ptr [7FFE2847E9D0]
int       3
M05_L07
 
mov       rcx,[rsp+40]
mov       edx,ebx
lea       rcx,[rcx+rdx*2]
mov       edx,[rsp+48]
sub       edx,ebx
cmp       edx,1
jb        short M05_L08
mov       rdx,2C457E30C54
movzx     eax,word ptr [rdx]
mov       [rcx],ax
mov       ecx,[rsp+38]
inc       ecx
mov       [rsp+38],ecx
jmp       short M05_L09
M05_L08
 
lea       rcx,[rsp+28]
mov       rdx,2C457E30C48
call      qword ptr [7FFE284058F0]
M05_L09
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rsp+28]
call      qword ptr [7FFE28405740]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear()
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE284A6718]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L10
 
call      qword ptr [7FFE287952D8]
mov       rsi,rax
test      rsi,rsi
jne       short M05_L11
call      qword ptr [7FFE28795020]
mov       rsi,rax
M05_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,2C457E441F0
mov       r8,rsi
call      qword ptr [7FFE284A6670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L12
 
lea       rcx,[rsp+28]
mov       edx,2A
mov       r8d,1
call      qword ptr [7FFE284056B0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(Int32, Int32)
mov       ecx,[rsp+38]
cmp       ecx,[rsp+48]
ja        near ptr M05_L06
mov       rdx,[rsp+40]
mov       eax,ecx
lea       rdx,[rdx+rax*2]
mov       eax,[rsp+48]
sub       eax,ecx
cmp       eax,29
jb        near ptr M05_L04
mov       rcx,2C457E48074
vmovdqu   ymm0,ymmword ptr [rcx]
vmovdqu   ymm1,ymmword ptr [rcx+20]
vmovdqu   ymm2,ymmword ptr [rcx+32]
vmovdqu   ymmword ptr [rdx],ymm0
vmovdqu   ymmword ptr [rdx+20],ymm1
vmovdqu   ymmword ptr [rdx+32],ymm2
mov       ecx,[rsp+38]
add       ecx,29
mov       [rsp+38],ecx
jmp       near ptr M05_L05
 
System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rax,[rbx+30]
test      rax,rax
je        short M06_L01
M06_L00
 
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M06_L01
 
lea       rsi,[rbx+30]
mov       rcx,offset MT_System.WeakReference`1[[System.Text.RegularExpressions.RegexReplacement, System.Text.RegularExpressions]]
call      CORINFO_HELP_NEWFAST
mov       rdi,rax
mov       rcx,rdi
xor       edx,edx
xor       r8d,r8d
call      qword ptr [7FFE282CD098]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].Create(System.__Canon, Boolean)
mov       rcx,rsi
mov       rdx,rdi
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
jne       short M06_L00
mov       rax,[rbx+30]
jmp       short M06_L00
 
System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,rdx
mov       rdi,r8
mov       ebp,r9d
mov       rcx,[rbx+8]
and       rcx,0FFFFFFFFFFFFFFFE
je        short M07_L02
test      cl,2
jne       short M07_L03
mov       r14,[rcx]
M07_L00
 
test      r14,r14
je        short M07_L05
mov       r15,[r14+18]
cmp       [r15],r15b
cmp       r15,rsi
jne       short M07_L04
M07_L01
 
mov       rax,r14
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M07_L02
 
xor       r14d,r14d
jmp       short M07_L00
M07_L03
 
and       rcx,0FFFFFFFFFFFFFFFC
mov       rcx,[rcx]
cmp       [rcx],ecx
call      qword ptr [7FFE28E6FA38]
mov       r14,rax
jmp       short M07_L00
M07_L04
 
test      rsi,rsi
je        short M07_L05
mov       r8d,[r15+8]
cmp       r8d,[rsi+8]
jne       short M07_L05
lea       rcx,[r15+0C]
mov       r8d,[r15+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE282C5068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
test      eax,eax
jne       short M07_L01
M07_L05
 
mov       r14,[rsp+80]
mov       [rsp+20],r14
mov       rcx,rsi
mov       edx,[rsp+88]
mov       r8,rdi
mov       r9d,ebp
call      qword ptr [7FFE28CDD260]; System.Text.RegularExpressions.RegexParser.ParseReplacement(System.String, System.Text.RegularExpressions.RegexOptions, System.Collections.Hashtable, Int32, System.Collections.Hashtable)
mov       r14,rax
mov       rcx,rbx
mov       rdx,r14
call      qword ptr [7FFE282CD0B0]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].SetTarget(System.__Canon)
jmp       near ptr M07_L01
 
System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
sub       rsp,28
mov       eax,[rsp+50]
cmp       r9d,0FFFFFFFF
jl        short M08_L01
cmp       [r8+8],eax
jb        short M08_L02
test      r9d,r9d
je        short M08_L03
test      byte ptr [rdx+40],40
je        short M08_L04
M08_L00
 
mov       [rsp+50],eax
add       rsp,28
jmp       qword ptr [7FFE28CDCD50]; System.Text.RegularExpressions.RegexReplacement.ReplaceNonSimpleText(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M08_L01
 
mov       ecx,3
mov       edx,1
call      qword ptr [7FFE28E6F960]
int       3
M08_L02
 
mov       ecx,0E
xor       edx,edx
call      qword ptr [7FFE28E6F960]
int       3
M08_L03
 
mov       rax,r8
add       rsp,28
ret
M08_L04
 
cmp       byte ptr [rcx+20],0
jne       short M08_L00
mov       r10,[rcx+10]
cmp       dword ptr [r10+8],0
jne       short M08_L05
mov       rcx,rdx
mov       r10,2C457E30008
jmp       short M08_L06
M08_L05
 
mov       r10,[rcx+8]
cmp       dword ptr [r10+8],0
jbe       short M08_L07
mov       r10,[r10+10]
mov       rcx,rdx
M08_L06
 
mov       [rsp+50],eax
mov       rdx,r8
mov       r8,r10
add       rsp,28
jmp       qword ptr [7FFE28CDCD38]
M08_L07
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M09_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M09_L02
test      rbx,rbx
je        short M09_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M09_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M09_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE282C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE282C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L01
 
call      qword ptr [7FFE2847EF40]
int       3
M09_L02
 
test      rbx,rbx
je        short M09_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M09_L04
M09_L03
 
mov       rax,2C457E30008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 
System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rsi,rcx
mov       rbx,rdx
mov       rdi,[rbx]
M10_L00
 
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L02
M10_L01
 
mov       rcx,7FFE28DF03C4
call      CORINFO_HELP_COUNTPROFILE32
mov       rax,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M10_L02
 
test      rdi,rdi
je        near ptr M10_L08
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L03
mov       rcx,7FFE28DF03C0
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L03
 
test      rdi,rdi
je        short M10_L04
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L05
mov       rcx,7FFE28DF03B8
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L04
 
mov       rcx,7FFE28DF03BC
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
M10_L05
 
test      rdi,rdi
je        short M10_L07
mov       rdi,[rdi+10]
cmp       rdi,rsi
je        short M10_L06
test      rdi,rdi
je        short M10_L09
mov       rcx,7FFE28DF03AC
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L00
M10_L06
 
mov       rcx,7FFE28DF03B0
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L01
M10_L07
 
mov       rcx,7FFE28DF03B4
call      CORINFO_HELP_COUNTPROFILE32
M10_L08
 
mov       rcx,7FFE28DF03C8
call      CORINFO_HELP_COUNTPROFILE32
mov       rcx,rsi
mov       rdx,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
jmp       qword ptr [7FFE282143A8]
M10_L09
 
mov       rcx,7FFE28DF03A8
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.RemoveCRLF01()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,40
xor       eax,eax
mov       [rsp+38],rax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
test      rcx,rcx
je        near ptr M00_L07
mov       [rsp+38],rcx
mov       rcx,1EFC400EC10
mov       rsi,[rcx]
cmp       byte ptr [rsi+9E],0
jne       short M00_L00
mov       rcx,rsi
call      qword ptr [7FFE28706A18]; System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M00_L00
 
mov       rcx,rsi
call      qword ptr [7FFE28706328]; System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
mov       r8,rax
test      r8,r8
jne       short M00_L02
M00_L01
 
lea       rdx,[rsp+38]
mov       rcx,offset MD_System.Text.Json.JsonSerializer.WriteString[[System.Object, System.Private.CoreLib]](System.Object ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
call      qword ptr [7FFE28B86F70]; System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
test      rax,rax
je        short M00_L03
mov       ecx,[rax+8]
xor       edx,edx
test      ecx,ecx
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      ecx,ecx
jne       short M00_L04
jmp       short M00_L04
M00_L02
 
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.Object, System.Private.CoreLib]]
cmp       [r8],rcx
jne       near ptr M00_L08
jmp       short M00_L01
M00_L03
 
xor       edx,edx
M00_L04
 
test      edx,edx
je        near ptr M00_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       rdx,rax
mov       rcx,offset MD_DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.String, System.Private.CoreLib]](System.String)
call      qword ptr [7FFE28BEC1F8]; DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
test      rax,rax
je        near ptr M00_L11
mov       rcx,1EFC400D958
mov       rsi,[rcx]
mov       rdi,rax
mov       rbp,rdi
test      byte ptr [rsi+40],40
je        near ptr M00_L12
mov       r14d,[rdi+8]
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE2862D830]; System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
mov       rcx,rax
mov       r8,[rsi+20]
mov       [rsp+20],r8
mov       r8d,[rsi+40]
mov       [rsp+28],r8d
mov       r8,[rsi+18]
mov       r9d,[rsi+44]
mov       rdx,23055DC0008
call      qword ptr [7FFE28CACCD8]; System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
mov       rcx,rax
mov       [rsp+20],r14d
mov       rdx,rsi
mov       r8,rdi
mov       r9d,0FFFFFFFF
cmp       [rcx],ecx
call      qword ptr [7FFE28CACD38]; System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M00_L06
 
mov       [rsp+30],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,40
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L07
 
call      qword ptr [7FFE28765230]
mov       ecx,76B
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rbp,rax
mov       ecx,1464
mov       rdx,7FFE28575108
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbp
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       r14,rax
mov       ecx,1
mov       rdx,7FFE286E3548
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE281E6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE28765020]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L08
 
mov       rdx,rax
call      qword ptr [7FFE281E43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
int       3
M00_L09
 
call      qword ptr [7FFE287652D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L10
call      qword ptr [7FFE28765020]
mov       rbx,rax
M00_L10
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,23055DD41F0
mov       r8,rbx
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L11
 
xor       eax,eax
jmp       near ptr M00_L06
M00_L12
 
mov       rdi,rbp
xor       r14d,r14d
jmp       near ptr M00_L05
 
System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer()
M01_L00
 
push      rbp
sub       rsp,80
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFFA0
M01_L01
 
vmovdqa   xmmword ptr [rax+rbp],xmm4
vmovdqa   xmmword ptr [rbp+rax+10],xmm4
vmovdqa   xmmword ptr [rbp+rax+20],xmm4
add       rax,30
jne       short M01_L01
mov       [rbp+10],rcx
call      qword ptr [7FFE28707750]; System.Text.Json.JsonSerializer.get_IsReflectionEnabledByDefault()
test      eax,eax
je        near ptr M01_L05
call      qword ptr [7FFE2876D908]; System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.get_DefaultInstance()
mov       [rbp-18],rax
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L02
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.JsonSerializerContext
call      qword ptr [7FFE281E4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       [rbp-28],rax
cmp       qword ptr [rbp-28],0
jne       short M01_L03
jmp       near ptr M01_L09
M01_L02
 
mov       rcx,[rbp+10]
lea       rcx,[rcx+20]
mov       rdx,[rbp-18]
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M01_L09
M01_L03
 
call      qword ptr [7FFE28707150]
test      eax,eax
je        near ptr M01_L09
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-10],xmm0
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
xor       r8d,r8d
call      qword ptr [7FFE2876DB18]
mov       rdx,[rbp-28]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rdx,[rbp-10]
mov       rcx,offset MD_.InlineArrayElementRef[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r8d,1
call      qword ptr [7FFE2876DB18]
mov       rdx,[rbp-18]
mov       rcx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rbp-48]
lea       r8,[rbp-10]
mov       rdx,offset MD_.InlineArrayAsReadOnlySpan[[<>y__InlineArray2`1[[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]], System.Text.Json],[System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver, System.Text.Json]](<>y__InlineArray2`1 ByRef, Int32)
mov       r9d,2
call      qword ptr [7FFE2876DB48]
mov       rcx,[rbp+10]
lea       rcx,[rcx+60]
mov       [rbp-60],rcx
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-58],xmm0
lea       rcx,[rbp-58]
call      qword ptr [7FFE2876DB90]
mov       rcx,[rbp-60]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp+10]
mov       rcx,[rcx+8]
mov       [rbp-20],rcx
cmp       qword ptr [rbp-20],0
je        near ptr M01_L09
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
cmp       rax,[rbp+10]
je        short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
movzx     ecx,byte ptr [rax+9E]
test      ecx,ecx
jne       short M01_L04
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876D9B0]; System.Text.Json.JsonSerializerOptions+CachingContext.get_Options()
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE28706A18]
jmp       short M01_L09
M01_L04
 
mov       rcx,[rbp-20]
cmp       [rcx],ecx
call      qword ptr [7FFE2876DA28]
jmp       short M01_L09
M01_L05
 
mov       rdx,[rbp+10]
mov       rdx,[rdx+20]
mov       [rbp-30],rdx
cmp       qword ptr [rbp-30],0
je        short M01_L06
mov       rdx,[rbp-30]
mov       rcx,offset MT_System.Text.Json.Serialization.Metadata.EmptyJsonTypeInfoResolver
call      qword ptr [7FFE281E4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        short M01_L07
M01_L06
 
mov       dword ptr [rbp-34],1
jmp       short M01_L08
M01_L07
 
xor       eax,eax
mov       [rbp-34],eax
M01_L08
 
cmp       dword ptr [rbp-34],0
je        short M01_L09
call      qword ptr [7FFE2870D098]
M01_L09
 
mov       rax,[rbp+10]
mov       byte ptr [rax+9D],1
mov       rax,[rbp+10]
mov       byte ptr [rax+9E],1
add       rsp,80
pop       rbp
ret
 
System.Text.Json.JsonSerializerOptions.get_ObjectTypeInfo()
push      rsi
push      rbx
sub       rsp,38
mov       rbx,rcx
mov       rax,[rbx+18]
test      rax,rax
je        short M02_L01
M02_L00
 
add       rsp,38
pop       rbx
pop       rsi
ret
M02_L01
 
mov       byte ptr [rsp+30],1
mov       byte ptr [rsp+31],1
xor       ecx,ecx
mov       [rsp+20],ecx
mov       [rsp+28],ecx
mov       rcx,rbx
movzx     r9d,word ptr [rsp+30]
mov       rdx,23055DC2D10
mov       r8d,1
call      qword ptr [7FFE287062C8]; System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(System.Type, Boolean, System.Nullable`1, Boolean, Boolean)
mov       rsi,rax
lea       rcx,[rbx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rsi
jmp       short M02_L00
 
System.Text.Json.JsonSerializer.WriteString[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef, System.Text.Json.Serialization.Metadata.JsonTypeInfo`1)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,88
vzeroupper
lea       rbp,[rsp+0C0]
xor       eax,eax
mov       [rbp-98],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-90],xmm4
vmovdqa   xmmword ptr [rbp-80],xmm4
vmovdqa   xmmword ptr [rbp-70],xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-40],rax
mov       [rbp-0A0],rsp
mov       rsi,rdx
mov       rbx,r8
mov       rdi,[rbx+0B0]
lea       rdx,[rbp-48]
mov       rcx,rdi
cmp       [rcx],ecx
call      qword ptr [7FFE28706A90]; System.Text.Json.JsonSerializerOptions.GetWriterOptions()
mov       edi,[rdi+7C]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        near ptr M03_L11
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
je        near ptr M03_L11
mov       rax,[rcx]
add       rax,10
mov       r14,[rax]
test      r14,r14
je        near ptr M03_L12
M03_L00
 
mov       ecx,[r14+18]
lea       edx,[rcx+1]
mov       [r14+18],edx
test      ecx,ecx
jne       near ptr M03_L15
mov       rcx,[r14+8]
mov       [rbp-90],rcx
mov       r14,[r14+10]
mov       rcx,[rbp-90]
cmp       [rcx],cl
mov       rcx,1EFC4001F20
mov       rcx,[rcx]
mov       edx,edi
call      qword ptr [7FFE289E0B38]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Rent(Int32)
mov       rcx,[rbp-90]
lea       rcx,[rcx+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rbp-90]
xor       edx,edx
mov       [rcx+20],edx
lea       rcx,[r14+8]
mov       rdx,[rbp-90]
call      CORINFO_HELP_ASSIGN_REF
mov       edi,[rbp-3C]
lea       rcx,[r14+68]
mov       rdx,[rbp-48]
call      CORINFO_HELP_ASSIGN_REF
mov       ecx,[rbp-40]
mov       [r14+70],ecx
mov       ecx,[rbp-3C]
mov       [r14+74],ecx
mov       ecx,9
mov       edx,20
test      byte ptr [r14+74],8
cmove     ecx,edx
mov       [r14+3B],cl
mov       ecx,edi
and       ecx,7F0
sar       ecx,4
je        short M03_L01
xor       edx,edx
cmp       ecx,2
cmovne    edx,ecx
jmp       short M03_L02
M03_L01
 
mov       edx,2
M03_L02
 
mov       [r14+2C],edx
test      dil,4
jne       near ptr M03_L13
mov       rdi,23055DC1C08
M03_L03
 
mov       ecx,[rdi+8]
mov       [r14+30],ecx
cmp       dword ptr [r14+70],0
je        near ptr M03_L14
M03_L04
 
mov       [rbp-88],r14
mov       rcx,rbx
mov       rdx,r14
mov       r8,rsi
xor       r9d,r9d
call      qword ptr [7FFE2876D0B0]; System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[[System.__Canon, System.Private.CoreLib]].Serialize(System.Text.Json.Utf8JsonWriter, System.__Canon ByRef, System.Object)
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rax,[rbp-90]
mov       r15d,[rax+20]
test      rcx,rcx
je        short M03_L08
cmp       [rcx+8],r15d
jb        short M03_L07
M03_L05
 
xor       r13d,r13d
xor       r12d,r12d
test      rcx,rcx
je        short M03_L10
mov       rax,[rcx]
test      dword ptr [rax],80000000
je        short M03_L09
lea       r13,[rcx+10]
mov       r12d,[rcx+8]
M03_L06
 
cmp       r15d,r12d
ja        short M03_L07
mov       r12d,r15d
jmp       short M03_L10
M03_L07
 
call      qword ptr [7FFE2844E9D0]
int       3
M03_L08
 
test      r15d,r15d
jne       short M03_L07
xor       ecx,ecx
xor       r15d,r15d
jmp       short M03_L05
M03_L09
 
lea       rdx,[rbp-58]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+28]
mov       r13,[rbp-58]
mov       r12d,[rbp-50]
jmp       short M03_L06
M03_L10
 
mov       rcx,r13
mov       [rbp-80],rcx
mov       [rbp-78],r12d
lea       rcx,[rbp-80]
call      qword ptr [7FFE2876E5E0]; System.Text.Json.JsonReaderHelper.TranscodeHelper(System.ReadOnlySpan`1)
mov       [rbp-98],rax
mov       rcx,rsp
call      M03_L16
nop
mov       rax,[rbp-98]
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M03_L11
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       r14,[rax]
test      r14,r14
jne       near ptr M03_L00
M03_L12
 
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriterCache+ThreadLocalState
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
call      qword ptr [7FFE28B87D98]; System.Text.Json.Utf8JsonWriterCache+ThreadLocalState..ctor()
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov       rcx,rax
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
jmp       near ptr M03_L00
M03_L13
 
mov       rcx,7FFE287163A8
mov       edx,69
call      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov       rcx,1EFC400F6D8
mov       rdi,[rcx]
jmp       near ptr M03_L03
M03_L14
 
lea       rcx,[r14+68]
mov       edx,3E8
call      qword ptr [7FFE28AB72E8]; System.Text.Json.JsonWriterOptions.set_MaxDepth(Int32)
jmp       near ptr M03_L04
M03_L15
 
mov       rcx,offset MT_System.Text.Json.PooledByteBufferWriter
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       edx,edi
call      qword ptr [7FFE28B379D8]
mov       [rbp-90],r14
mov       rcx,offset MT_System.Text.Json.Utf8JsonWriter
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rdx,r14
vmovdqu   xmm0,xmmword ptr [rbp-48]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,r13
lea       r8,[rbp-70]
call      qword ptr [7FFE28AB7468]
mov       r14,r13
jmp       near ptr M03_L04
M03_L16
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0C0]
mov       r14,[rbp-90]
mov       rcx,gs:[58]
mov       rcx,[rcx+30]
cmp       dword ptr [rcx+190],3
jl        short M03_L17
mov       rcx,[rcx+198]
mov       rcx,[rcx+18]
test      rcx,rcx
jne       short M03_L18
M03_L17
 
mov       ecx,3
call      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp       short M03_L19
M03_L18
 
mov       rax,[rcx]
add       rax,10
M03_L19
 
mov       r15,[rax]
xor       ecx,ecx
mov       r12,[rbp-88]
mov       [r12+34],ecx
mov       [r12+20],rcx
mov       [r12+40],rcx
mov       [r12+48],rcx
mov       byte ptr [r12+38],0
mov       byte ptr [r12+3A],0
mov       byte ptr [r12+39],0
mov       [r12+28],ecx
mov       [r12+50],rcx
mov       [r12+58],rcx
mov       [r12+60],rcx
mov       [r12+10],rcx
mov       [r12+18],rcx
mov       [r12+8],rcx
mov       rcx,[rbp-90]
mov       rcx,[rcx+10]
mov       rdx,[rbp-90]
mov       r8d,[rdx+20]
test      rcx,rcx
jne       short M03_L20
test      r8d,r8d
jne       short M03_L21
xor       ecx,ecx
xor       r8d,r8d
jmp       short M03_L23
M03_L20
 
cmp       [rcx+8],r8d
jae       short M03_L22
M03_L21
 
call      qword ptr [7FFE2844E9D0]
int       3
M03_L22
 
add       rcx,10
M03_L23
 
mov       edx,r8d
mov       [rbp-60],rdx
test      rdx,rdx
je        short M03_L25
cmp       rdx,300
ja        short M03_L24
xor       edx,edx
mov       r8d,[rbp-60]
call      CORINFO_HELP_MEMSET
jmp       short M03_L25
M03_L24
 
call      qword ptr [7FFE28295BA8]; System.Buffer._ZeroMemory(Byte ByRef, UIntPtr)
M03_L25
 
xor       ecx,ecx
mov       [r14+20],ecx
mov       rdx,[r14+10]
mov       [r14+10],rcx
mov       rcx,1EFC4001F20
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289E0B40]; System.Buffers.SharedArrayPool`1[[System.Byte, System.Private.CoreLib]].Return(Byte[], Boolean)
dec       dword ptr [r15+18]
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Trim()
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,[rbx+8]
test      esi,esi
je        short M04_L03
movzx     ecx,word ptr [rbx+0C]
cmp       ecx,100
jae       short M04_L00
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L01
M04_L00
 
call      qword ptr [7FFE28D15E60]
test      eax,eax
jne       short M04_L04
M04_L01
 
dec       esi
mov       ecx,esi
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M04_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       short M04_L04
jmp       short M04_L03
M04_L02
 
call      qword ptr [7FFE28D15E60]
test      eax,eax
jne       short M04_L04
M04_L03
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rsi
ret
M04_L04
 
mov       rcx,rbx
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
nop
add       rsp,28
pop       rbx
pop       rsi
ret
 
DotNetTips.Spargine.Core.Serialization.JsonSerialization.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String)
push      rsi
push      rbx
sub       rsp,58
vzeroupper
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       [rsp+50],rcx
mov       rsi,rcx
mov       rbx,rdx
mov       rcx,rbx
test      rcx,rcx
je        short M05_L00
mov       eax,[rcx+8]
xor       edx,edx
test      eax,eax
sete      dl
test      edx,edx
sete      dl
movzx     edx,dl
test      eax,eax
jne       short M05_L01
jmp       short M05_L01
M05_L00
 
xor       edx,edx
M05_L01
 
test      edx,edx
je        near ptr M05_L10
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       rbx,rax
mov       rcx,[rsi+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M05_L03
M05_L02
 
mov       r8,1EFC400DA78
mov       r8,[r8]
mov       rdx,rbx
call      qword ptr [7FFE28BEC258]; System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib]](System.String, System.Text.Json.JsonSerializerOptions)
test      rax,rax
je        near ptr M05_L12
add       rsp,58
pop       rbx
pop       rsi
ret
M05_L03
 
mov       rcx,rsi
mov       rdx,7FFE28BDB540
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M05_L02
M05_L04
 
lea       rcx,[rsp+28]
mov       rdx,23055DD8068
call      qword ptr [7FFE283D58F0]
M05_L05
 
mov       rcx,[rsi+10]
mov       rcx,[rcx]
call      CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
mov       r8,rax
lea       rcx,[rsp+28]
mov       rdx,offset MD_System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.Type, System.Private.CoreLib]](System.Type)
call      qword ptr [7FFE2862E100]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted[[System.__Canon, System.Private.CoreLib]](System.__Canon)
mov       ebx,[rsp+38]
cmp       ebx,[rsp+48]
jbe       short M05_L07
M05_L06
 
call      qword ptr [7FFE2844E9D0]
int       3
M05_L07
 
mov       rcx,[rsp+40]
mov       edx,ebx
lea       rcx,[rcx+rdx*2]
mov       edx,[rsp+48]
sub       edx,ebx
cmp       edx,1
jb        short M05_L08
mov       rdx,23055DC0C54
movzx     eax,word ptr [rdx]
mov       [rcx],ax
mov       ecx,[rsp+38]
inc       ecx
mov       [rsp+38],ecx
jmp       short M05_L09
M05_L08
 
lea       rcx,[rsp+28]
mov       rdx,23055DC0C48
call      qword ptr [7FFE283D58F0]
M05_L09
 
mov       rcx,offset MT_System.InvalidOperationException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rsp+28]
call      qword ptr [7FFE283D5740]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.ToStringAndClear()
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE28476718]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L10
 
call      qword ptr [7FFE287652D8]
mov       rsi,rax
test      rsi,rsi
jne       short M05_L11
call      qword ptr [7FFE28765020]
mov       rsi,rax
M05_L11
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,23055DD41F0
mov       r8,rsi
call      qword ptr [7FFE28476670]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M05_L12
 
lea       rcx,[rsp+28]
mov       edx,2A
mov       r8d,1
call      qword ptr [7FFE283D56B0]; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler..ctor(Int32, Int32)
mov       ecx,[rsp+38]
cmp       ecx,[rsp+48]
ja        near ptr M05_L06
mov       rdx,[rsp+40]
mov       eax,ecx
lea       rdx,[rdx+rax*2]
mov       eax,[rsp+48]
sub       eax,ecx
cmp       eax,29
jb        near ptr M05_L04
mov       rcx,23055DD8074
vmovdqu   ymm0,ymmword ptr [rcx]
vmovdqu   ymm1,ymmword ptr [rcx+20]
vmovdqu   ymm2,ymmword ptr [rcx+32]
vmovdqu   ymmword ptr [rdx],ymm0
vmovdqu   ymmword ptr [rdx+20],ymm1
vmovdqu   ymmword ptr [rdx+32],ymm2
mov       ecx,[rsp+38]
add       ecx,29
mov       [rsp+38],ecx
jmp       near ptr M05_L05
 
System.Text.RegularExpressions.Regex.get_RegexReplacementWeakReference()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rax,[rbx+30]
test      rax,rax
je        short M06_L01
M06_L00
 
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M06_L01
 
lea       rsi,[rbx+30]
mov       rcx,offset MT_System.WeakReference`1[[System.Text.RegularExpressions.RegexReplacement, System.Text.RegularExpressions]]
call      CORINFO_HELP_NEWFAST
mov       rdi,rax
mov       rcx,rdi
xor       edx,edx
xor       r8d,r8d
call      qword ptr [7FFE2829D098]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].Create(System.__Canon, Boolean)
mov       rcx,rsi
mov       rdx,rdi
xor       r8d,r8d
call      System.Threading.Interlocked.CompareExchange(System.Object ByRef, System.Object, System.Object)
test      rax,rax
jne       short M06_L00
mov       rax,[rbx+30]
jmp       short M06_L00
 
System.Text.RegularExpressions.RegexReplacement.GetOrCreate(System.WeakReference`1, System.String, System.Collections.Hashtable, Int32, System.Collections.Hashtable, System.Text.RegularExpressions.RegexOptions)
push      r15
push      r14
push      r13
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
mov       rbx,rcx
mov       rsi,rdx
mov       rdi,r8
mov       ebp,r9d
mov       rax,[rbx+8]
and       rax,0FFFFFFFFFFFFFFFE
je        short M07_L03
test      al,2
jne       short M07_L04
mov       r14,[rax]
M07_L00
 
test      r14,r14
je        short M07_L02
mov       r15,[r14+18]
cmp       [r15],r15b
cmp       r15,rsi
jne       short M07_L05
M07_L01
 
mov       rax,r14
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r13
pop       r14
pop       r15
ret
M07_L02
 
mov       r13,[rsp+90]
mov       [rsp+20],r13
mov       rcx,rsi
mov       edx,[rsp+98]
mov       r8,rdi
mov       r9d,ebp
call      qword ptr [7FFE28CAD278]; System.Text.RegularExpressions.RegexParser.ParseReplacement(System.String, System.Text.RegularExpressions.RegexOptions, System.Collections.Hashtable, Int32, System.Collections.Hashtable)
mov       r14,rax
mov       rcx,rbx
mov       rdx,r14
call      qword ptr [7FFE2829D0B0]; System.WeakReference`1[[System.__Canon, System.Private.CoreLib]].SetTarget(System.__Canon)
jmp       short M07_L01
M07_L03
 
xor       r14d,r14d
jmp       short M07_L00
M07_L04
 
and       rax,0FFFFFFFFFFFFFFFC
mov       rcx,[rax]
cmp       [rcx],ecx
call      qword ptr [7FFE28E3FB88]
mov       r14,rax
jmp       short M07_L00
M07_L05
 
test      rsi,rsi
je        short M07_L02
mov       r8d,[r15+8]
cmp       r8d,[rsi+8]
jne       short M07_L02
lea       rcx,[r15+0C]
mov       r8d,[r15+8]
add       r8d,r8d
lea       rdx,[rsi+0C]
call      qword ptr [7FFE28295068]; System.SpanHelpers.SequenceEqual(Byte ByRef, Byte ByRef, UIntPtr)
test      eax,eax
jne       near ptr M07_L01
jmp       short M07_L02
 
System.Text.RegularExpressions.RegexReplacement.Replace(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
sub       rsp,28
mov       eax,[rsp+50]
cmp       r9d,0FFFFFFFF
jl        short M08_L01
cmp       [r8+8],eax
jb        short M08_L02
test      r9d,r9d
je        short M08_L03
test      byte ptr [rdx+40],40
je        short M08_L04
M08_L00
 
mov       [rsp+50],eax
add       rsp,28
jmp       qword ptr [7FFE28CACD68]; System.Text.RegularExpressions.RegexReplacement.ReplaceNonSimpleText(System.Text.RegularExpressions.Regex, System.String, Int32, Int32)
M08_L01
 
mov       ecx,3
mov       edx,1
call      qword ptr [7FFE28E3FAB0]
int       3
M08_L02
 
mov       ecx,0E
xor       edx,edx
call      qword ptr [7FFE28E3FAB0]
int       3
M08_L03
 
mov       rax,r8
add       rsp,28
ret
M08_L04
 
cmp       byte ptr [rcx+20],0
jne       short M08_L00
mov       r10,[rcx+10]
cmp       dword ptr [r10+8],0
jne       short M08_L05
mov       rcx,rdx
mov       r10,23055DC0008
jmp       short M08_L06
M08_L05
 
mov       r10,[rcx+8]
cmp       dword ptr [r10+8],0
jbe       short M08_L07
mov       r10,[r10+10]
mov       rcx,rdx
M08_L06
 
mov       [rsp+50],eax
mov       rdx,r8
mov       r8,r10
add       rsp,28
jmp       qword ptr [7FFE28CACD50]
M08_L07
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M09_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M09_L02
test      rbx,rbx
je        short M09_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M09_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M09_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE28295B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L01
 
call      qword ptr [7FFE2844EF40]
int       3
M09_L02
 
test      rbx,rbx
je        short M09_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M09_L04
M09_L03
 
mov       rax,23055DC0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M09_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 
System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rsi,rcx
mov       rbx,rdx
mov       rdi,[rbx]
M10_L00
 
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L02
M10_L01
 
mov       rcx,7FFE28DC28A4
call      CORINFO_HELP_COUNTPROFILE32
mov       rax,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M10_L02
 
test      rdi,rdi
je        near ptr M10_L08
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L03
mov       rcx,7FFE28DC28A0
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L03
 
test      rdi,rdi
je        short M10_L04
mov       rdi,[rdi+10]
cmp       rdi,rsi
jne       short M10_L05
mov       rcx,7FFE28DC2898
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L01
M10_L04
 
mov       rcx,7FFE28DC289C
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
M10_L05
 
test      rdi,rdi
je        short M10_L07
mov       rdi,[rdi+10]
cmp       rdi,rsi
je        short M10_L06
test      rdi,rdi
je        short M10_L09
mov       rcx,7FFE28DC288C
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L00
M10_L06
 
mov       rcx,7FFE28DC2890
call      CORINFO_HELP_COUNTPROFILE32
jmp       near ptr M10_L01
M10_L07
 
mov       rcx,7FFE28DC2894
call      CORINFO_HELP_COUNTPROFILE32
M10_L08
 
mov       rcx,7FFE28DC28A8
call      CORINFO_HELP_COUNTPROFILE32
mov       rcx,rsi
mov       rdx,rbx
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
jmp       qword ptr [7FFE281E43A8]
M10_L09
 
mov       rcx,7FFE28DC2888
call      CORINFO_HELP_COUNTPROFILE32
jmp       short M10_L08
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.Split()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
cmp       [rcx],cl
xor       edx,edx
mov       [rsp+20],edx
mov       rdx,26E09DC1C08
xor       r8d,r8d
mov       r9d,7FFFFFFF
call      qword ptr [7FFE28207138]; System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
mov       rsi,rax
xor       edi,edi
mov       ebp,[rsi+8]
test      ebp,ebp
jle       short M00_L01
M00_L00
 
mov       ecx,edi
mov       rcx,[rsi+rcx*8+10]
mov       [rsp+28],rcx
mov       r14,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [r14+8],rax
inc       edi
cmp       ebp,edi
jg        short M00_L00
M00_L01
 
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
 
System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,0E8
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax+0B0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0C0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0D0],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp+0B0],rax
mov       rax,7F36F8172340
mov       [rbp],rax
mov       rsi,rcx
mov       rdi,r8
mov       ebx,r9d
mov       r14d,[rbp+110]
test      ebx,ebx
jl        short M01_L04
test      r14d,0FFFFFFFC
jne       near ptr M01_L05
xor       r15d,r15d
test      rdx,rdx
setne     r15b
test      r15d,r15d
je        near ptr M01_L06
M01_L01
 
cmp       ebx,1
jle       near ptr M01_L08
cmp       dword ptr [rsi+8],0
je        near ptr M01_L08
test      r15d,r15d
je        near ptr M01_L10
cmp       dword ptr [rdx+8],0
je        near ptr M01_L09
mov       rcx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE28207168]; System.String.SplitInternal(System.String, Int32, System.StringSplitOptions)
M01_L02
 
mov       rcx,7F36F8172340
cmp       [rbp],rcx
je        short M01_L03
call      CORINFO_HELP_FAIL_FAST
M01_L03
 
nop
lea       rsp,[rbp+0B8]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L04
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE28CCC1E0]
int       3
M01_L05
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M01_L06
 
test      rdi,rdi
je        short M01_L07
cmp       dword ptr [rdi+8],0
jne       near ptr M01_L01
M01_L07
 
xor       ecx,ecx
mov       [rbp+48],rcx
xor       ecx,ecx
mov       [rbp+50],ecx
mov       rcx,rsi
lea       rdx,[rbp+48]
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
jmp       near ptr M01_L02
M01_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,ebx
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
jmp       near ptr M01_L02
M01_L09
 
mov       ebx,1
jmp       near ptr M01_L01
M01_L10
 
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+98]
call      qword ptr [7FFE289E7B10]
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+78]
call      qword ptr [7FFE289E7B10]
lea       rcx,[rsi+0C]
mov       edx,[rsi+8]
test      rdi,rdi
jne       short M01_L11
xor       r8d,r8d
xor       r9d,r9d
jmp       short M01_L12
M01_L11
 
lea       r8,[rdi+10]
mov       r9d,[rdi+8]
M01_L12
 
mov       [rbp+48],rcx
mov       [rbp+50],edx
mov       [rbp+28],r8
mov       [rbp+30],r9d
lea       rcx,[rbp+48]
lea       rdx,[rbp+28]
lea       r8,[rbp+98]
lea       r9,[rbp+78]
call      qword ptr [7FFE282071F8]
lea       rcx,[rbp+98]
lea       rdx,[rbp+68]
call      qword ptr [7FFE289E7C18]
lea       rcx,[rbp+78]
lea       rdx,[rbp+58]
call      qword ptr [7FFE289E7C18]
cmp       dword ptr [rbp+70],0
je        near ptr M01_L08
test      r14d,r14d
jne       short M01_L13
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       short M01_L14
M01_L13
 
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M01_L14
 
mov       rdx,[rbp+98]
test      rdx,rdx
je        short M01_L15
xor       ecx,ecx
mov       [rbp+98],rcx
mov       rcx,22D7C001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L15
 
mov       rdx,[rbp+78]
test      rdx,rdx
je        short M01_L16
xor       ecx,ecx
mov       [rbp+78],rcx
mov       rcx,22D7C001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L16
 
mov       rax,rdi
jmp       near ptr M01_L02
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.Split()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
cmp       [rcx],cl
xor       edx,edx
mov       [rsp+20],edx
mov       rdx,241BBE61C08
xor       r8d,r8d
mov       r9d,7FFFFFFF
call      qword ptr [7FFE281F7138]; System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
mov       rsi,rax
xor       edi,edi
mov       ebp,[rsi+8]
test      ebp,ebp
jle       short M00_L01
M00_L00
 
mov       ecx,edi
mov       rcx,[rsi+rcx*8+10]
mov       [rsp+28],rcx
mov       r14,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [r14+8],rax
inc       edi
cmp       ebp,edi
jg        short M00_L00
M00_L01
 
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
 
System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,0E8
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax+0B0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0C0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0D0],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp+0B0],rax
mov       rax,473CF57F7B5C
mov       [rbp],rax
mov       rsi,rcx
mov       rdi,r8
mov       ebx,r9d
mov       r14d,[rbp+110]
test      ebx,ebx
jl        short M01_L04
test      r14d,0FFFFFFFC
jne       near ptr M01_L05
xor       r15d,r15d
test      rdx,rdx
setne     r15b
test      r15d,r15d
je        near ptr M01_L06
M01_L01
 
cmp       ebx,1
jle       near ptr M01_L08
cmp       dword ptr [rsi+8],0
je        near ptr M01_L08
test      r15d,r15d
je        near ptr M01_L10
cmp       dword ptr [rdx+8],0
je        near ptr M01_L09
mov       rcx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE281F7168]; System.String.SplitInternal(System.String, Int32, System.StringSplitOptions)
M01_L02
 
mov       rcx,473CF57F7B5C
cmp       [rbp],rcx
je        short M01_L03
call      CORINFO_HELP_FAIL_FAST
M01_L03
 
nop
lea       rsp,[rbp+0B8]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L04
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE28CBC1E0]
int       3
M01_L05
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M01_L06
 
test      rdi,rdi
je        short M01_L07
cmp       dword ptr [rdi+8],0
jne       near ptr M01_L01
M01_L07
 
xor       ecx,ecx
mov       [rbp+48],rcx
xor       ecx,ecx
mov       [rbp+50],ecx
mov       rcx,rsi
lea       rdx,[rbp+48]
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
jmp       near ptr M01_L02
M01_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,ebx
call      qword ptr [7FFE281F7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
jmp       near ptr M01_L02
M01_L09
 
mov       ebx,1
jmp       near ptr M01_L01
M01_L10
 
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+98]
call      qword ptr [7FFE289D7B58]
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+78]
call      qword ptr [7FFE289D7B58]
lea       rcx,[rsi+0C]
mov       edx,[rsi+8]
test      rdi,rdi
jne       short M01_L11
xor       r8d,r8d
xor       r9d,r9d
jmp       short M01_L12
M01_L11
 
lea       r8,[rdi+10]
mov       r9d,[rdi+8]
M01_L12
 
mov       [rbp+48],rcx
mov       [rbp+50],edx
mov       [rbp+28],r8
mov       [rbp+30],r9d
lea       rcx,[rbp+48]
lea       rdx,[rbp+28]
lea       r8,[rbp+98]
lea       r9,[rbp+78]
call      qword ptr [7FFE281F71F8]
lea       rcx,[rbp+98]
lea       rdx,[rbp+68]
call      qword ptr [7FFE289D7C60]
lea       rcx,[rbp+78]
lea       rdx,[rbp+58]
call      qword ptr [7FFE289D7C60]
cmp       dword ptr [rbp+70],0
je        near ptr M01_L08
test      r14d,r14d
jne       short M01_L13
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       short M01_L14
M01_L13
 
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M01_L14
 
mov       rdx,[rbp+98]
test      rdx,rdx
je        short M01_L15
xor       ecx,ecx
mov       [rbp+98],rcx
mov       rcx,2012A001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1C18]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L15
 
mov       rdx,[rbp+78]
test      rdx,rdx
je        short M01_L16
xor       ecx,ecx
mov       [rbp+78],rcx
mov       rcx,2012A001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1C18]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L16
 
mov       rax,rdi
jmp       near ptr M01_L02
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.Split()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
cmp       [rcx],cl
xor       edx,edx
mov       [rsp+20],edx
mov       rdx,1DA98DB1C08
xor       r8d,r8d
mov       r9d,7FFFFFFF
call      qword ptr [7FFE28217138]; System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
mov       rsi,rax
xor       edi,edi
mov       ebp,[rsi+8]
test      ebp,ebp
jle       short M00_L01
M00_L00
 
mov       ecx,edi
mov       rcx,[rsi+rcx*8+10]
mov       [rsp+28],rcx
mov       r14,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [r14+8],rax
inc       edi
cmp       ebp,edi
jg        short M00_L00
M00_L01
 
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
 
System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,0E8
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax+0B0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0C0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0D0],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp+0B0],rax
mov       rax,7ABD5FB11C65
mov       [rbp],rax
mov       rsi,rcx
mov       rdi,r8
mov       ebx,r9d
mov       r14d,[rbp+110]
test      ebx,ebx
jl        short M01_L04
test      r14d,0FFFFFFFC
jne       near ptr M01_L05
xor       r15d,r15d
test      rdx,rdx
setne     r15b
test      r15d,r15d
je        near ptr M01_L06
M01_L01
 
cmp       ebx,1
jle       near ptr M01_L08
cmp       dword ptr [rsi+8],0
je        near ptr M01_L08
test      r15d,r15d
je        near ptr M01_L10
cmp       dword ptr [rdx+8],0
je        near ptr M01_L09
mov       rcx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE28217168]; System.String.SplitInternal(System.String, Int32, System.StringSplitOptions)
M01_L02
 
mov       rcx,7ABD5FB11C65
cmp       [rbp],rcx
je        short M01_L03
call      CORINFO_HELP_FAIL_FAST
M01_L03
 
nop
lea       rsp,[rbp+0B8]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L04
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE28CDC360]
int       3
M01_L05
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M01_L06
 
test      rdi,rdi
je        short M01_L07
cmp       dword ptr [rdi+8],0
jne       near ptr M01_L01
M01_L07
 
xor       ecx,ecx
mov       [rbp+48],rcx
xor       ecx,ecx
mov       [rbp+50],ecx
mov       rcx,rsi
lea       rdx,[rbp+48]
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
jmp       near ptr M01_L02
M01_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,ebx
call      qword ptr [7FFE28217150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
jmp       near ptr M01_L02
M01_L09
 
mov       ebx,1
jmp       near ptr M01_L01
M01_L10
 
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+98]
call      qword ptr [7FFE289F7B10]
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+78]
call      qword ptr [7FFE289F7B10]
lea       rcx,[rsi+0C]
mov       edx,[rsi+8]
test      rdi,rdi
jne       short M01_L11
xor       r8d,r8d
xor       r9d,r9d
jmp       short M01_L12
M01_L11
 
lea       r8,[rdi+10]
mov       r9d,[rdi+8]
M01_L12
 
mov       [rbp+48],rcx
mov       [rbp+50],edx
mov       [rbp+28],r8
mov       [rbp+30],r9d
lea       rcx,[rbp+48]
lea       rdx,[rbp+28]
lea       r8,[rbp+98]
lea       r9,[rbp+78]
call      qword ptr [7FFE282171F8]
lea       rcx,[rbp+98]
lea       rdx,[rbp+68]
call      qword ptr [7FFE289F7C18]
lea       rcx,[rbp+78]
lea       rdx,[rbp+58]
call      qword ptr [7FFE289F7C18]
cmp       dword ptr [rbp+70],0
je        near ptr M01_L08
test      r14d,r14d
jne       short M01_L13
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       short M01_L14
M01_L13
 
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M01_L14
 
mov       rdx,[rbp+98]
test      rdx,rdx
je        short M01_L15
xor       ecx,ecx
mov       [rbp+98],rcx
mov       rcx,19A07001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L15
 
mov       rdx,[rbp+78]
test      rdx,rdx
je        short M01_L16
xor       ecx,ecx
mov       [rbp+78],rcx
mov       rcx,19A07001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L16
 
mov       rax,rdi
jmp       near ptr M01_L02
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.Split()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
cmp       [rcx],cl
xor       edx,edx
mov       [rsp+20],edx
mov       rdx,20E73A31C08
xor       r8d,r8d
mov       r9d,7FFFFFFF
call      qword ptr [7FFE28207138]; System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
mov       rsi,rax
xor       edi,edi
mov       ebp,[rsi+8]
test      ebp,ebp
jle       short M00_L01
M00_L00
 
mov       ecx,edi
mov       rcx,[rsi+rcx*8+10]
mov       [rsp+28],rcx
mov       r14,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [r14+8],rax
inc       edi
cmp       ebp,edi
jg        short M00_L00
M00_L01
 
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
 
System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,0E8
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax+0B0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0C0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0D0],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp+0B0],rax
mov       rax,47C19570DD9C
mov       [rbp],rax
mov       rsi,rcx
mov       rdi,r8
mov       ebx,r9d
mov       r14d,[rbp+110]
test      ebx,ebx
jl        short M01_L04
test      r14d,0FFFFFFFC
jne       near ptr M01_L05
xor       r15d,r15d
test      rdx,rdx
setne     r15b
test      r15d,r15d
je        near ptr M01_L06
M01_L01
 
cmp       ebx,1
jle       near ptr M01_L08
cmp       dword ptr [rsi+8],0
je        near ptr M01_L08
test      r15d,r15d
je        near ptr M01_L10
cmp       dword ptr [rdx+8],0
je        near ptr M01_L09
mov       rcx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE28207168]; System.String.SplitInternal(System.String, Int32, System.StringSplitOptions)
M01_L02
 
mov       rcx,47C19570DD9C
cmp       [rbp],rcx
je        short M01_L03
call      CORINFO_HELP_FAIL_FAST
M01_L03
 
nop
lea       rsp,[rbp+0B8]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L04
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE28CCC360]
int       3
M01_L05
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M01_L06
 
test      rdi,rdi
je        short M01_L07
cmp       dword ptr [rdi+8],0
jne       near ptr M01_L01
M01_L07
 
xor       ecx,ecx
mov       [rbp+48],rcx
xor       ecx,ecx
mov       [rbp+50],ecx
mov       rcx,rsi
lea       rdx,[rbp+48]
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
jmp       near ptr M01_L02
M01_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,ebx
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
jmp       near ptr M01_L02
M01_L09
 
mov       ebx,1
jmp       near ptr M01_L01
M01_L10
 
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+98]
call      qword ptr [7FFE289E7B10]
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+78]
call      qword ptr [7FFE289E7B10]
lea       rcx,[rsi+0C]
mov       edx,[rsi+8]
test      rdi,rdi
jne       short M01_L11
xor       r8d,r8d
xor       r9d,r9d
jmp       short M01_L12
M01_L11
 
lea       r8,[rdi+10]
mov       r9d,[rdi+8]
M01_L12
 
mov       [rbp+48],rcx
mov       [rbp+50],edx
mov       [rbp+28],r8
mov       [rbp+30],r9d
lea       rcx,[rbp+48]
lea       rdx,[rbp+28]
lea       r8,[rbp+98]
lea       r9,[rbp+78]
call      qword ptr [7FFE282071F8]
lea       rcx,[rbp+98]
lea       rdx,[rbp+68]
call      qword ptr [7FFE289E7C18]
lea       rcx,[rbp+78]
lea       rdx,[rbp+58]
call      qword ptr [7FFE289E7C18]
cmp       dword ptr [rbp+70],0
je        near ptr M01_L08
test      r14d,r14d
jne       short M01_L13
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       short M01_L14
M01_L13
 
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M01_L14
 
mov       rdx,[rbp+98]
test      rdx,rdx
je        short M01_L15
xor       ecx,ecx
mov       [rbp+98],rcx
mov       rcx,1CDE5C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L15
 
mov       rdx,[rbp+78]
test      rdx,rdx
je        short M01_L16
xor       ecx,ecx
mov       [rbp+78],rcx
mov       rcx,1CDE5C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L16
 
mov       rax,rdi
jmp       near ptr M01_L02
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.Split()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
cmp       [rcx],cl
xor       edx,edx
mov       [rsp+20],edx
mov       rdx,1D175FB1C08
xor       r8d,r8d
mov       r9d,7FFFFFFF
call      qword ptr [7FFE28217138]; System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
mov       rsi,rax
xor       edi,edi
mov       ebp,[rsi+8]
test      ebp,ebp
jle       short M00_L01
M00_L00
 
mov       ecx,edi
mov       rcx,[rsi+rcx*8+10]
mov       [rsp+28],rcx
mov       r14,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [r14+8],rax
inc       edi
cmp       ebp,edi
jg        short M00_L00
M00_L01
 
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
 
System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,0E8
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax+0B0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0C0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0D0],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp+0B0],rax
mov       rax,40AE39111BEE
mov       [rbp],rax
mov       rsi,rcx
mov       rdi,r8
mov       ebx,r9d
mov       r14d,[rbp+110]
test      ebx,ebx
jl        short M01_L04
test      r14d,0FFFFFFFC
jne       near ptr M01_L05
xor       r15d,r15d
test      rdx,rdx
setne     r15b
test      r15d,r15d
je        near ptr M01_L06
M01_L01
 
cmp       ebx,1
jle       near ptr M01_L08
cmp       dword ptr [rsi+8],0
je        near ptr M01_L08
test      r15d,r15d
je        near ptr M01_L10
cmp       dword ptr [rdx+8],0
je        near ptr M01_L09
mov       rcx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE28217168]; System.String.SplitInternal(System.String, Int32, System.StringSplitOptions)
M01_L02
 
mov       rcx,40AE39111BEE
cmp       [rbp],rcx
je        short M01_L03
call      CORINFO_HELP_FAIL_FAST
M01_L03
 
nop
lea       rsp,[rbp+0B8]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L04
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE28CDD458]
int       3
M01_L05
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M01_L06
 
test      rdi,rdi
je        short M01_L07
cmp       dword ptr [rdi+8],0
jne       near ptr M01_L01
M01_L07
 
xor       ecx,ecx
mov       [rbp+48],rcx
xor       ecx,ecx
mov       [rbp+50],ecx
mov       rcx,rsi
lea       rdx,[rbp+48]
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
jmp       near ptr M01_L02
M01_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,ebx
call      qword ptr [7FFE28217150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
jmp       near ptr M01_L02
M01_L09
 
mov       ebx,1
jmp       near ptr M01_L01
M01_L10
 
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+98]
call      qword ptr [7FFE289F7B10]
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+78]
call      qword ptr [7FFE289F7B10]
lea       rcx,[rsi+0C]
mov       edx,[rsi+8]
test      rdi,rdi
jne       short M01_L11
xor       r8d,r8d
xor       r9d,r9d
jmp       short M01_L12
M01_L11
 
lea       r8,[rdi+10]
mov       r9d,[rdi+8]
M01_L12
 
mov       [rbp+48],rcx
mov       [rbp+50],edx
mov       [rbp+28],r8
mov       [rbp+30],r9d
lea       rcx,[rbp+48]
lea       rdx,[rbp+28]
lea       r8,[rbp+98]
lea       r9,[rbp+78]
call      qword ptr [7FFE282171F8]
lea       rcx,[rbp+98]
lea       rdx,[rbp+68]
call      qword ptr [7FFE289F7C18]
lea       rcx,[rbp+78]
lea       rdx,[rbp+58]
call      qword ptr [7FFE289F7C18]
cmp       dword ptr [rbp+70],0
je        near ptr M01_L08
test      r14d,r14d
jne       short M01_L13
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       short M01_L14
M01_L13
 
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M01_L14
 
mov       rdx,[rbp+98]
test      rdx,rdx
je        short M01_L15
xor       ecx,ecx
mov       [rbp+98],rcx
mov       rcx,190E4001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L15
 
mov       rdx,[rbp+78]
test      rdx,rdx
je        short M01_L16
xor       ecx,ecx
mov       [rbp+78],rcx
mov       rcx,190E4001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L16
 
mov       rax,rdi
jmp       near ptr M01_L02
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.Split()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
cmp       [rcx],cl
xor       edx,edx
mov       [rsp+20],edx
mov       rdx,2ACB0F91C08
xor       r8d,r8d
mov       r9d,7FFFFFFF
call      qword ptr [7FFE281F7138]; System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
mov       rsi,rax
xor       edi,edi
mov       ebp,[rsi+8]
test      ebp,ebp
jle       short M00_L01
M00_L00
 
mov       ecx,edi
mov       rcx,[rsi+rcx*8+10]
mov       [rsp+28],rcx
mov       r14,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [r14+8],rax
inc       edi
cmp       ebp,edi
jg        short M00_L00
M00_L01
 
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
 
System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,0E8
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax+0B0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0C0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0D0],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp+0B0],rax
mov       rax,6DE3ED50B18B
mov       [rbp],rax
mov       rsi,rcx
mov       rdi,r8
mov       ebx,r9d
mov       r14d,[rbp+110]
test      ebx,ebx
jl        short M01_L04
test      r14d,0FFFFFFFC
jne       near ptr M01_L05
xor       r15d,r15d
test      rdx,rdx
setne     r15b
test      r15d,r15d
je        near ptr M01_L06
M01_L01
 
cmp       ebx,1
jle       near ptr M01_L08
cmp       dword ptr [rsi+8],0
je        near ptr M01_L08
test      r15d,r15d
je        near ptr M01_L10
cmp       dword ptr [rdx+8],0
je        near ptr M01_L09
mov       rcx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE281F7168]; System.String.SplitInternal(System.String, Int32, System.StringSplitOptions)
M01_L02
 
mov       rcx,6DE3ED50B18B
cmp       [rbp],rcx
je        short M01_L03
call      CORINFO_HELP_FAIL_FAST
M01_L03
 
nop
lea       rsp,[rbp+0B8]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L04
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE28CBD458]
int       3
M01_L05
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M01_L06
 
test      rdi,rdi
je        short M01_L07
cmp       dword ptr [rdi+8],0
jne       near ptr M01_L01
M01_L07
 
xor       ecx,ecx
mov       [rbp+48],rcx
xor       ecx,ecx
mov       [rbp+50],ecx
mov       rcx,rsi
lea       rdx,[rbp+48]
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
jmp       near ptr M01_L02
M01_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,ebx
call      qword ptr [7FFE281F7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
jmp       near ptr M01_L02
M01_L09
 
mov       ebx,1
jmp       near ptr M01_L01
M01_L10
 
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+98]
call      qword ptr [7FFE289D7B58]
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+78]
call      qword ptr [7FFE289D7B58]
lea       rcx,[rsi+0C]
mov       edx,[rsi+8]
test      rdi,rdi
jne       short M01_L11
xor       r8d,r8d
xor       r9d,r9d
jmp       short M01_L12
M01_L11
 
lea       r8,[rdi+10]
mov       r9d,[rdi+8]
M01_L12
 
mov       [rbp+48],rcx
mov       [rbp+50],edx
mov       [rbp+28],r8
mov       [rbp+30],r9d
lea       rcx,[rbp+48]
lea       rdx,[rbp+28]
lea       r8,[rbp+98]
lea       r9,[rbp+78]
call      qword ptr [7FFE281F71F8]
lea       rcx,[rbp+98]
lea       rdx,[rbp+68]
call      qword ptr [7FFE289D7C60]
lea       rcx,[rbp+78]
lea       rdx,[rbp+58]
call      qword ptr [7FFE289D7C60]
cmp       dword ptr [rbp+70],0
je        near ptr M01_L08
test      r14d,r14d
jne       short M01_L13
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       short M01_L14
M01_L13
 
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M01_L14
 
mov       rdx,[rbp+98]
test      rdx,rdx
je        short M01_L15
xor       ecx,ecx
mov       [rbp+98],rcx
mov       rcx,26C1F001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L15
 
mov       rdx,[rbp+78]
test      rdx,rdx
je        short M01_L16
xor       ecx,ecx
mov       [rbp+78],rcx
mov       rcx,26C1F001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L16
 
mov       rax,rdi
jmp       near ptr M01_L02
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.Split()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
cmp       [rcx],cl
xor       edx,edx
mov       [rsp+20],edx
mov       rdx,26501D31C08
xor       r8d,r8d
mov       r9d,7FFFFFFF
call      qword ptr [7FFE281F7138]; System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
mov       rsi,rax
xor       edi,edi
mov       ebp,[rsi+8]
test      ebp,ebp
jle       short M00_L01
M00_L00
 
mov       ecx,edi
mov       rcx,[rsi+rcx*8+10]
mov       [rsp+28],rcx
mov       r14,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [r14+8],rax
inc       edi
cmp       ebp,edi
jg        short M00_L00
M00_L01
 
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
 
System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,0E8
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax+0B0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0C0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0D0],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp+0B0],rax
mov       rax,4D82610F28F8
mov       [rbp],rax
mov       rsi,rcx
mov       rdi,r8
mov       ebx,r9d
mov       r14d,[rbp+110]
test      ebx,ebx
jl        short M01_L04
test      r14d,0FFFFFFFC
jne       near ptr M01_L05
xor       r15d,r15d
test      rdx,rdx
setne     r15b
test      r15d,r15d
je        near ptr M01_L06
M01_L01
 
cmp       ebx,1
jle       near ptr M01_L08
cmp       dword ptr [rsi+8],0
je        near ptr M01_L08
test      r15d,r15d
je        near ptr M01_L10
cmp       dword ptr [rdx+8],0
je        near ptr M01_L09
mov       rcx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE281F7168]; System.String.SplitInternal(System.String, Int32, System.StringSplitOptions)
M01_L02
 
mov       rcx,4D82610F28F8
cmp       [rbp],rcx
je        short M01_L03
call      CORINFO_HELP_FAIL_FAST
M01_L03
 
nop
lea       rsp,[rbp+0B8]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L04
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE28CBD530]
int       3
M01_L05
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M01_L06
 
test      rdi,rdi
je        short M01_L07
cmp       dword ptr [rdi+8],0
jne       near ptr M01_L01
M01_L07
 
xor       ecx,ecx
mov       [rbp+48],rcx
xor       ecx,ecx
mov       [rbp+50],ecx
mov       rcx,rsi
lea       rdx,[rbp+48]
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
jmp       near ptr M01_L02
M01_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,ebx
call      qword ptr [7FFE281F7150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
jmp       near ptr M01_L02
M01_L09
 
mov       ebx,1
jmp       near ptr M01_L01
M01_L10
 
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+98]
call      qword ptr [7FFE289D7B10]
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+78]
call      qword ptr [7FFE289D7B10]
lea       rcx,[rsi+0C]
mov       edx,[rsi+8]
test      rdi,rdi
jne       short M01_L11
xor       r8d,r8d
xor       r9d,r9d
jmp       short M01_L12
M01_L11
 
lea       r8,[rdi+10]
mov       r9d,[rdi+8]
M01_L12
 
mov       [rbp+48],rcx
mov       [rbp+50],edx
mov       [rbp+28],r8
mov       [rbp+30],r9d
lea       rcx,[rbp+48]
lea       rdx,[rbp+28]
lea       r8,[rbp+98]
lea       r9,[rbp+78]
call      qword ptr [7FFE281F71F8]
lea       rcx,[rbp+98]
lea       rdx,[rbp+68]
call      qword ptr [7FFE289D7C18]
lea       rcx,[rbp+78]
lea       rdx,[rbp+58]
call      qword ptr [7FFE289D7C18]
cmp       dword ptr [rbp+70],0
je        near ptr M01_L08
test      r14d,r14d
jne       short M01_L13
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       short M01_L14
M01_L13
 
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M01_L14
 
mov       rdx,[rbp+98]
test      rdx,rdx
je        short M01_L15
xor       ecx,ecx
mov       [rbp+98],rcx
mov       rcx,22470001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L15
 
mov       rdx,[rbp+78]
test      rdx,rdx
je        short M01_L16
xor       ecx,ecx
mov       [rbp+78],rcx
mov       rcx,22470001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1758]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L16
 
mov       rax,rdi
jmp       near ptr M01_L02
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.Split()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+288]
cmp       [rcx],cl
xor       edx,edx
mov       [rsp+20],edx
mov       rdx,22D81A11C08
xor       r8d,r8d
mov       r9d,7FFFFFFF
call      qword ptr [7FFE28207138]; System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
mov       rsi,rax
xor       edi,edi
mov       ebp,[rsi+8]
test      ebp,ebp
jle       short M00_L01
M00_L00
 
mov       ecx,edi
mov       rcx,[rsi+rcx*8+10]
mov       [rsp+28],rcx
mov       r14,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [r14+8],rax
inc       edi
cmp       ebp,edi
jg        short M00_L00
M00_L01
 
add       rsp,30
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
 
System.String.SplitInternal(System.String, System.String[], Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,0E8
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax+0B0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0C0],xmm4
vmovdqa   xmmword ptr [rbp+rax+0D0],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp+0B0],rax
mov       rax,1F61CAA50CBF
mov       [rbp],rax
mov       rsi,rcx
mov       rdi,r8
mov       ebx,r9d
mov       r14d,[rbp+110]
test      ebx,ebx
jl        short M01_L04
test      r14d,0FFFFFFFC
jne       near ptr M01_L05
xor       r15d,r15d
test      rdx,rdx
setne     r15b
test      r15d,r15d
je        near ptr M01_L06
M01_L01
 
cmp       ebx,1
jle       near ptr M01_L08
cmp       dword ptr [rsi+8],0
je        near ptr M01_L08
test      r15d,r15d
je        near ptr M01_L10
cmp       dword ptr [rdx+8],0
je        near ptr M01_L09
mov       rcx,rsi
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE28207168]; System.String.SplitInternal(System.String, Int32, System.StringSplitOptions)
M01_L02
 
mov       rcx,1F61CAA50CBF
cmp       [rbp],rcx
je        short M01_L03
call      CORINFO_HELP_FAIL_FAST
M01_L03
 
nop
lea       rsp,[rbp+0B8]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L04
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE28CCD458]
int       3
M01_L05
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M01_L06
 
test      rdi,rdi
je        short M01_L07
cmp       dword ptr [rdi+8],0
jne       near ptr M01_L01
M01_L07
 
xor       ecx,ecx
mov       [rbp+48],rcx
xor       ecx,ecx
mov       [rbp+50],ecx
mov       rcx,rsi
lea       rdx,[rbp+48]
mov       r8d,ebx
mov       r9d,r14d
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
jmp       near ptr M01_L02
M01_L08
 
mov       rcx,rsi
mov       edx,r14d
mov       r8d,ebx
call      qword ptr [7FFE28207150]; System.String.CreateSplitArrayOfThisAsSoleValue(System.StringSplitOptions, Int32)
jmp       near ptr M01_L02
M01_L09
 
mov       ebx,1
jmp       near ptr M01_L01
M01_L10
 
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+98]
call      qword ptr [7FFE289E7B10]
test      [rsp],esp
sub       rsp,200
lea       rdx,[rsp+30]
mov       [rbp+38],rdx
mov       dword ptr [rbp+40],80
lea       rdx,[rbp+38]
lea       rcx,[rbp+78]
call      qword ptr [7FFE289E7B10]
lea       rcx,[rsi+0C]
mov       edx,[rsi+8]
test      rdi,rdi
jne       short M01_L11
xor       r8d,r8d
xor       r9d,r9d
jmp       short M01_L12
M01_L11
 
lea       r8,[rdi+10]
mov       r9d,[rdi+8]
M01_L12
 
mov       [rbp+48],rcx
mov       [rbp+50],edx
mov       [rbp+28],r8
mov       [rbp+30],r9d
lea       rcx,[rbp+48]
lea       rdx,[rbp+28]
lea       r8,[rbp+98]
lea       r9,[rbp+78]
call      qword ptr [7FFE282071F8]
lea       rcx,[rbp+98]
lea       rdx,[rbp+68]
call      qword ptr [7FFE289E7C18]
lea       rcx,[rbp+78]
lea       rdx,[rbp+58]
call      qword ptr [7FFE289E7C18]
cmp       dword ptr [rbp+70],0
je        near ptr M01_L08
test      r14d,r14d
jne       short M01_L13
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       rdi,rax
jmp       short M01_L14
M01_L13
 
vmovdqu   xmm0,xmmword ptr [rbp+68]
vmovdqu   xmmword ptr [rbp+18],xmm0
vmovdqu   xmm0,xmmword ptr [rbp+58]
vmovdqu   xmmword ptr [rbp+8],xmm0
mov       [rsp+20],ebx
mov       [rsp+28],r14d
mov       rcx,rsi
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
xor       r9d,r9d
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       rdi,rax
M01_L14
 
mov       rdx,[rbp+98]
test      rdx,rdx
je        short M01_L15
xor       ecx,ecx
mov       [rbp+98],rcx
mov       rcx,1ECEFC01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L15
 
mov       rdx,[rbp+78]
test      rdx,rdx
je        short M01_L16
xor       ecx,ecx
mov       [rbp+78],rcx
mov       rcx,1ECEFC01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L16
 
mov       rax,rdi
jmp       near ptr M01_L02
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitLines()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
xor       eax,eax
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L16
cmp       dword ptr [rsi+8],0
je        near ptr M00_L07
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       near ptr M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       near ptr M00_L05
M00_L02
 
mov       [rsp+38],rdx
mov       [rsp+40],r8d
lea       rcx,[rsp+38]
call      qword ptr [7FFE282CC210]; System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
mov       [rsp+30],rax
mov       rsi,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
M00_L03
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       [rsp+20],rdi
mov       [rsp+28],ebp
cmp       dword ptr [rsp+28],0
je        near ptr M00_L12
mov       rcx,[rsp+20]
mov       r9d,[rsp+28]
mov       r8d,0A
mov       edx,0D
call      qword ptr [7FFE2859DAE8]; System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
cmp       eax,0FFFFFFFF
jne       short M00_L10
xor       edi,edi
xor       ebp,ebp
mov       rdx,[rsp+20]
mov       r8d,[rsp+28]
jmp       short M00_L02
M00_L04
 
call      qword ptr [7FFE28D0D470]
test      eax,eax
jne       near ptr M00_L18
M00_L05
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L19
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28D0D470]
test      eax,eax
jne       near ptr M00_L18
M00_L07
 
test      rsi,rsi
jne       short M00_L08
xor       edi,edi
xor       ebp,ebp
jmp       short M00_L09
M00_L08
 
lea       rdi,[rsi+0C]
mov       ebp,[rsi+8]
M00_L09
 
jmp       near ptr M00_L03
M00_L10
 
mov       ecx,1
mov       edx,[rsp+28]
sub       edx,1
jo        near ptr M00_L15
cmp       eax,edx
jge       near ptr M00_L13
cmp       eax,[rsp+28]
jae       near ptr M00_L19
mov       rdx,[rsp+20]
mov       r8d,eax
cmp       word ptr [rdx+r8*2],0D
jne       short M00_L13
mov       edx,eax
add       edx,1
jo        near ptr M00_L15
cmp       edx,[rsp+28]
jae       near ptr M00_L19
mov       r8,[rsp+20]
cmp       word ptr [r8+rdx*2],0A
jne       short M00_L13
mov       ecx,eax
add       rcx,2
mov       edx,[rsp+28]
cmp       rcx,rdx
ja        short M00_L14
mov       ecx,2
cmp       eax,[rsp+28]
ja        short M00_L14
M00_L11
 
mov       rdx,[rsp+20]
mov       r8d,eax
lea       rax,[rsp+20]
add       ecx,r8d
jo        short M00_L15
mov       r10d,[rax+8]
mov       ebp,r10d
sub       ebp,ecx
mov       r9d,ecx
mov       r11d,ebp
add       r9,r11
cmp       r9,r10
ja        short M00_L14
mov       rax,[rax]
lea       rdi,[rax+rcx*2]
jmp       near ptr M00_L02
M00_L12
 
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L13
 
mov       edx,eax
inc       rdx
mov       r8d,[rsp+28]
cmp       rdx,r8
ja        short M00_L14
cmp       eax,[rsp+28]
jbe       short M00_L11
M00_L14
 
call      qword ptr [7FFE2847E9D0]
int       3
M00_L15
 
call      CORINFO_HELP_OVERFLOW
M00_L16
 
call      qword ptr [7FFE287952D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L17
call      qword ptr [7FFE28795020]
mov       rbx,rax
M00_L17
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,21ADC6B8468
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L18
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L07
M00_L19
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       rax,[rcx]
mov       ecx,[rcx+8]
mov       [rsp+28],rax
mov       [rsp+30],ecx
lea       rcx,[rsp+28]
call      System.String..ctor(System.ReadOnlySpan`1)
nop
add       rsp,38
ret
 
System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
vzeroupper
cmp       r9d,8
jl        near ptr M02_L07
mov       rax,rcx
cmp       r9d,10
jle       near ptr M02_L26
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb ymm0,xmm0
movzx     r8d,r8b
vmovd     xmm1,r8d
vpbroadcastb ymm1,xmm1
cmp       r9d,20
jle       short M02_L01
lea       edx,[r9-20]
movsxd    rdx,edx
lea       rdx,[rax+rdx*2]
M02_L00
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rax+20]
vpcmpeqb  ymm3,ymm0,ymm2
vpcmpeqb  ymm2,ymm1,ymm2
vpor      ymm2,ymm3,ymm2
vptest    ymm2,ymm2
jne       short M02_L02
add       rax,40
cmp       rax,rdx
jb        short M02_L00
M02_L01
 
add       r9d,0FFFFFFF0
movsxd    rdx,r9d
lea       rdx,[rcx+rdx*2]
cmp       rax,rdx
cmova     rax,rdx
jmp       short M02_L04
M02_L02
 
sub       rax,rcx
shr       rax,1
vpermq    ymm0,ymm2,0D8
vpmovmskb edx,ymm0
xor       ecx,ecx
tzcnt     ecx,edx
add       eax,ecx
M02_L03
 
vzeroupper
ret
M02_L04
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rdx]
vpcmpeqb  ymm0,ymm0,ymm2
vpcmpeqb  ymm1,ymm1,ymm2
vpor      ymm0,ymm0,ymm1
vptest    ymm0,ymm0
jne       near ptr M02_L24
M02_L05
 
mov       eax,0FFFFFFFF
jmp       short M02_L03
M02_L06
 
test      r9d,r9d
jg        near ptr M02_L20
jmp       short M02_L05
M02_L07
 
xor       eax,eax
cmp       r9d,4
jl        short M02_L06
add       r9d,0FFFFFFFC
movsx     r10,word ptr [rcx]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L08
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L09
M02_L08
 
mov       eax,1
M02_L09
 
test      al,al
je        short M02_L10
xor       eax,eax
vzeroupper
ret
M02_L10
 
movsx     r10,word ptr [rcx+2]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L11
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L12
M02_L11
 
mov       eax,1
M02_L12
 
test      al,al
je        short M02_L13
mov       eax,1
vzeroupper
ret
M02_L13
 
movsx     r10,word ptr [rcx+4]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L14
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L15
M02_L14
 
mov       eax,1
M02_L15
 
test      al,al
je        short M02_L16
mov       eax,2
vzeroupper
ret
M02_L16
 
movsx     r10,word ptr [rcx+6]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L17
movsx     rax,r8w
cmp       r10d,eax
sete      r10b
movzx     r10d,r10b
jmp       short M02_L18
M02_L17
 
mov       r10d,1
M02_L18
 
test      r10b,r10b
je        short M02_L19
mov       eax,3
jmp       near ptr M02_L03
M02_L19
 
mov       eax,4
test      r9d,r9d
jle       near ptr M02_L05
M02_L20
 
dec       r9d
movsx     r10,word ptr [rcx+rax*2]
movsx     r11,dx
cmp       r10d,r11d
je        short M02_L21
movsx     r11,r8w
cmp       r10d,r11d
sete      r10b
movzx     r10d,r10b
jmp       short M02_L22
M02_L21
 
mov       r10d,1
M02_L22
 
test      r10b,r10b
je        short M02_L23
jmp       near ptr M02_L03
M02_L23
 
inc       rax
jmp       near ptr M02_L06
M02_L24
 
vpermq    ymm0,ymm0,0D8
vpmovmskb r8d,ymm0
xor       r9d,r9d
tzcnt     r9d,r8d
cmp       r9d,10
jl        short M02_L25
mov       rax,rdx
add       r9d,0FFFFFFF0
M02_L25
 
sub       rax,rcx
shr       rax,1
add       eax,r9d
jmp       near ptr M02_L03
M02_L26
 
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb xmm0,xmm0
movzx     edx,r8b
vmovd     xmm1,edx
vpbroadcastb xmm1,xmm1
lea       edx,[r9-8]
movsxd    rdx,edx
lea       rax,[rax+rdx*2]
cmp       rcx,rax
mov       rdx,rcx
cmova     rdx,rax
vmovups   xmm2,[rdx]
vpackuswb xmm2,xmm2,[rax]
vpcmpeqb  xmm0,xmm0,xmm2
vpcmpeqb  xmm1,xmm1,xmm2
vpor      xmm0,xmm0,xmm1
vptest    xmm0,xmm0
je        near ptr M02_L05
vpmovmskb r8d,xmm0
tzcnt     r8d,r8d
cmp       r8d,8
jl        short M02_L27
mov       rdx,rax
add       r8d,0FFFFFFF8
M02_L27
 
sub       rdx,rcx
shr       rdx,1
lea       eax,[rdx+r8]
jmp       near ptr M02_L03
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitLines()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
xor       eax,eax
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L16
cmp       dword ptr [rsi+8],0
je        near ptr M00_L08
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       near ptr M00_L05
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       near ptr M00_L06
M00_L02
 
mov       [rsp+38],rdx
mov       [rsp+40],r8d
lea       rcx,[rsp+38]
call      qword ptr [7FFE2829C210]; System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
mov       [rsp+30],rax
mov       rsi,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
M00_L03
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       [rsp+20],rdi
mov       [rsp+28],ebp
cmp       dword ptr [rsp+28],0
je        near ptr M00_L11
mov       rcx,[rsp+20]
mov       r9d,[rsp+28]
mov       r8d,0A
mov       edx,0D
call      qword ptr [7FFE2856DAE8]; System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
cmp       eax,0FFFFFFFF
je        near ptr M00_L12
mov       ecx,1
mov       edx,[rsp+28]
sub       edx,1
jo        near ptr M00_L15
cmp       eax,edx
jge       near ptr M00_L13
cmp       eax,[rsp+28]
jae       near ptr M00_L19
mov       rdx,[rsp+20]
mov       r8d,eax
cmp       word ptr [rdx+r8*2],0D
jne       near ptr M00_L13
mov       edx,eax
add       edx,1
jo        near ptr M00_L15
cmp       edx,[rsp+28]
jae       near ptr M00_L19
mov       r8,[rsp+20]
cmp       word ptr [r8+rdx*2],0A
jne       near ptr M00_L13
mov       ecx,eax
add       rcx,2
mov       edx,[rsp+28]
cmp       rcx,rdx
ja        near ptr M00_L14
mov       ecx,2
cmp       eax,[rsp+28]
ja        near ptr M00_L14
M00_L04
 
mov       rdx,[rsp+20]
mov       r8d,eax
lea       rax,[rsp+20]
add       ecx,r8d
jo        near ptr M00_L15
mov       r10d,[rax+8]
mov       ebp,r10d
sub       ebp,ecx
mov       r9d,ecx
mov       r11d,ebp
add       r9,r11
cmp       r9,r10
ja        near ptr M00_L14
mov       rax,[rax]
lea       rdi,[rax+rcx*2]
jmp       near ptr M00_L02
M00_L05
 
call      qword ptr [7FFE28CDFAB0]
test      eax,eax
jne       near ptr M00_L18
M00_L06
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L19
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L07
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L08
M00_L07
 
call      qword ptr [7FFE28CDFAB0]
test      eax,eax
jne       near ptr M00_L18
M00_L08
 
test      rsi,rsi
jne       short M00_L09
xor       edi,edi
xor       ebp,ebp
jmp       short M00_L10
M00_L09
 
lea       rdi,[rsi+0C]
mov       ebp,[rsi+8]
M00_L10
 
jmp       near ptr M00_L03
M00_L11
 
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L12
 
xor       edi,edi
xor       ebp,ebp
mov       rdx,[rsp+20]
mov       r8d,[rsp+28]
jmp       near ptr M00_L02
M00_L13
 
mov       edx,eax
inc       rdx
mov       r8d,[rsp+28]
cmp       rdx,r8
ja        short M00_L14
cmp       eax,[rsp+28]
jbe       near ptr M00_L04
M00_L14
 
call      qword ptr [7FFE2844E9D0]
int       3
M00_L15
 
call      CORINFO_HELP_OVERFLOW
M00_L16
 
call      qword ptr [7FFE287652D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L17
call      qword ptr [7FFE28765020]
mov       rbx,rax
M00_L17
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,2369AA68468
mov       r8,rbx
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L18
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L08
M00_L19
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       rax,[rcx]
mov       ecx,[rcx+8]
mov       [rsp+28],rax
mov       [rsp+30],ecx
lea       rcx,[rsp+28]
call      System.String..ctor(System.ReadOnlySpan`1)
nop
add       rsp,38
ret
 
System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
vzeroupper
cmp       r9d,8
jl        near ptr M02_L06
mov       rax,rcx
cmp       r9d,10
jle       near ptr M02_L10
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb ymm0,xmm0
movzx     r8d,r8b
vmovd     xmm1,r8d
vpbroadcastb ymm1,xmm1
cmp       r9d,20
jle       short M02_L01
lea       edx,[r9-20]
movsxd    rdx,edx
lea       rdx,[rax+rdx*2]
M02_L00
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rax+20]
vpcmpeqb  ymm3,ymm0,ymm2
vpcmpeqb  ymm2,ymm1,ymm2
vpor      ymm2,ymm3,ymm2
vptest    ymm2,ymm2
jne       short M02_L02
add       rax,40
cmp       rax,rdx
jb        short M02_L00
M02_L01
 
add       r9d,0FFFFFFF0
movsxd    rdx,r9d
lea       rdx,[rcx+rdx*2]
cmp       rax,rdx
cmova     rax,rdx
jmp       short M02_L04
M02_L02
 
sub       rax,rcx
shr       rax,1
vpermq    ymm0,ymm2,0D8
vpmovmskb edx,ymm0
xor       ecx,ecx
tzcnt     ecx,edx
add       eax,ecx
M02_L03
 
vzeroupper
ret
M02_L04
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rdx]
vpcmpeqb  ymm0,ymm0,ymm2
vpcmpeqb  ymm1,ymm1,ymm2
vpor      ymm0,ymm0,ymm1
vptest    ymm0,ymm0
jne       short M02_L08
M02_L05
 
mov       eax,0FFFFFFFF
jmp       short M02_L03
M02_L06
 
xor       eax,eax
cmp       r9d,4
jge       near ptr M02_L12
M02_L07
 
test      r9d,r9d
jg        near ptr M02_L25
jmp       short M02_L05
M02_L08
 
vpermq    ymm0,ymm0,0D8
vpmovmskb r8d,ymm0
xor       r9d,r9d
tzcnt     r9d,r8d
cmp       r9d,10
jl        short M02_L09
mov       rax,rdx
add       r9d,0FFFFFFF0
M02_L09
 
sub       rax,rcx
shr       rax,1
add       eax,r9d
jmp       short M02_L03
M02_L10
 
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb xmm0,xmm0
movzx     edx,r8b
vmovd     xmm1,edx
vpbroadcastb xmm1,xmm1
lea       edx,[r9-8]
movsxd    rdx,edx
lea       rax,[rax+rdx*2]
cmp       rcx,rax
mov       rdx,rcx
cmova     rdx,rax
vmovups   xmm2,[rdx]
vpackuswb xmm2,xmm2,[rax]
vpcmpeqb  xmm0,xmm0,xmm2
vpcmpeqb  xmm1,xmm1,xmm2
vpor      xmm0,xmm0,xmm1
vptest    xmm0,xmm0
je        near ptr M02_L05
vpmovmskb r8d,xmm0
tzcnt     r8d,r8d
cmp       r8d,8
jl        short M02_L11
mov       rdx,rax
add       r8d,0FFFFFFF8
M02_L11
 
sub       rdx,rcx
shr       rdx,1
lea       eax,[rdx+r8]
jmp       near ptr M02_L03
M02_L12
 
add       r9d,0FFFFFFFC
movsx     r10,word ptr [rcx]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L13
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L14
M02_L13
 
mov       eax,1
M02_L14
 
test      al,al
je        short M02_L15
xor       eax,eax
vzeroupper
ret
M02_L15
 
movsx     r10,word ptr [rcx+2]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L16
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L17
M02_L16
 
mov       eax,1
M02_L17
 
test      al,al
je        short M02_L18
mov       eax,1
vzeroupper
ret
M02_L18
 
movsx     r10,word ptr [rcx+4]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L19
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L20
M02_L19
 
mov       eax,1
M02_L20
 
test      al,al
je        short M02_L21
mov       eax,2
vzeroupper
ret
M02_L21
 
movsx     r10,word ptr [rcx+6]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L22
movsx     rax,r8w
cmp       r10d,eax
sete      r10b
movzx     r10d,r10b
jmp       short M02_L23
M02_L22
 
mov       r10d,1
M02_L23
 
test      r10b,r10b
je        short M02_L24
mov       eax,3
jmp       near ptr M02_L03
M02_L24
 
mov       eax,4
test      r9d,r9d
jle       near ptr M02_L05
M02_L25
 
dec       r9d
movsx     r10,word ptr [rcx+rax*2]
movsx     r11,dx
cmp       r10d,r11d
je        short M02_L26
movsx     r11,r8w
cmp       r10d,r11d
sete      r10b
movzx     r10d,r10b
jmp       short M02_L27
M02_L26
 
mov       r10d,1
M02_L27
 
test      r10b,r10b
je        short M02_L28
jmp       near ptr M02_L03
M02_L28
 
inc       rax
jmp       near ptr M02_L07
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitLines()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
xor       eax,eax
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L16
cmp       dword ptr [rsi+8],0
je        near ptr M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       near ptr M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       near ptr M00_L07
M00_L02
 
mov       [rsp+38],rdx
mov       [rsp+40],r8d
lea       rcx,[rsp+38]
call      qword ptr [7FFE282DC210]; System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
mov       [rsp+30],rax
mov       rsi,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
M00_L03
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       [rsp+20],rdi
mov       [rsp+28],ebp
cmp       dword ptr [rsp+28],0
je        near ptr M00_L12
mov       rcx,[rsp+20]
mov       r9d,[rsp+28]
mov       r8d,0A
mov       edx,0D
call      qword ptr [7FFE285ADAE8]; System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
cmp       eax,0FFFFFFFF
je        near ptr M00_L05
mov       ecx,1
mov       edx,[rsp+28]
sub       edx,1
jo        near ptr M00_L15
cmp       eax,edx
jge       near ptr M00_L13
cmp       eax,[rsp+28]
jae       near ptr M00_L19
mov       rdx,[rsp+20]
mov       r8d,eax
cmp       word ptr [rdx+r8*2],0D
jne       near ptr M00_L13
mov       edx,eax
add       edx,1
jo        near ptr M00_L15
cmp       edx,[rsp+28]
jae       near ptr M00_L19
mov       r8,[rsp+20]
cmp       word ptr [r8+rdx*2],0A
jne       near ptr M00_L13
mov       ecx,eax
add       rcx,2
mov       edx,[rsp+28]
cmp       rcx,rdx
ja        near ptr M00_L14
mov       ecx,2
cmp       eax,[rsp+28]
ja        near ptr M00_L14
M00_L04
 
mov       rdx,[rsp+20]
mov       r8d,eax
lea       rax,[rsp+20]
add       ecx,r8d
jo        near ptr M00_L15
mov       r10d,[rax+8]
mov       ebp,r10d
sub       ebp,ecx
mov       r9d,ecx
mov       r11d,ebp
add       r9,r11
cmp       r9,r10
ja        near ptr M00_L14
mov       rax,[rax]
lea       rdi,[rax+rcx*2]
jmp       near ptr M00_L02
M00_L05
 
xor       edi,edi
xor       ebp,ebp
mov       rdx,[rsp+20]
mov       r8d,[rsp+28]
jmp       near ptr M00_L02
M00_L06
 
call      qword ptr [7FFE28D1F840]
test      eax,eax
jne       near ptr M00_L18
M00_L07
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L19
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28D1F840]
test      eax,eax
jne       near ptr M00_L18
M00_L09
 
test      rsi,rsi
jne       short M00_L10
xor       edi,edi
xor       ebp,ebp
jmp       short M00_L11
M00_L10
 
lea       rdi,[rsi+0C]
mov       ebp,[rsi+8]
M00_L11
 
jmp       near ptr M00_L03
M00_L12
 
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L13
 
mov       edx,eax
inc       rdx
mov       r8d,[rsp+28]
cmp       rdx,r8
ja        short M00_L14
cmp       eax,[rsp+28]
jbe       near ptr M00_L04
M00_L14
 
call      qword ptr [7FFE2848E9D0]
int       3
M00_L15
 
call      CORINFO_HELP_OVERFLOW
M00_L16
 
call      qword ptr [7FFE287A52D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L17
call      qword ptr [7FFE287A5020]
mov       rbx,rax
M00_L17
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,2E598798468
mov       r8,rbx
call      qword ptr [7FFE284B6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L18
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282273F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L19
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       rax,[rcx]
mov       ecx,[rcx+8]
mov       [rsp+28],rax
mov       [rsp+30],ecx
lea       rcx,[rsp+28]
call      System.String..ctor(System.ReadOnlySpan`1)
nop
add       rsp,38
ret
 
System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
vzeroupper
cmp       r9d,8
jl        near ptr M02_L06
mov       rax,rcx
cmp       r9d,10
jle       near ptr M02_L10
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb ymm0,xmm0
movzx     r8d,r8b
vmovd     xmm1,r8d
vpbroadcastb ymm1,xmm1
cmp       r9d,20
jle       short M02_L01
lea       edx,[r9-20]
movsxd    rdx,edx
lea       rdx,[rax+rdx*2]
M02_L00
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rax+20]
vpcmpeqb  ymm3,ymm0,ymm2
vpcmpeqb  ymm2,ymm1,ymm2
vpor      ymm2,ymm3,ymm2
vptest    ymm2,ymm2
jne       short M02_L02
add       rax,40
cmp       rax,rdx
jb        short M02_L00
M02_L01
 
add       r9d,0FFFFFFF0
movsxd    rdx,r9d
lea       rdx,[rcx+rdx*2]
cmp       rax,rdx
cmova     rax,rdx
jmp       short M02_L04
M02_L02
 
sub       rax,rcx
shr       rax,1
vpermq    ymm0,ymm2,0D8
vpmovmskb edx,ymm0
xor       ecx,ecx
tzcnt     ecx,edx
add       eax,ecx
M02_L03
 
vzeroupper
ret
M02_L04
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rdx]
vpcmpeqb  ymm0,ymm0,ymm2
vpcmpeqb  ymm1,ymm1,ymm2
vpor      ymm0,ymm0,ymm1
vptest    ymm0,ymm0
jne       short M02_L08
M02_L05
 
mov       eax,0FFFFFFFF
jmp       short M02_L03
M02_L06
 
xor       eax,eax
cmp       r9d,4
jge       near ptr M02_L12
M02_L07
 
test      r9d,r9d
jg        near ptr M02_L25
jmp       short M02_L05
M02_L08
 
vpermq    ymm0,ymm0,0D8
vpmovmskb r8d,ymm0
xor       r9d,r9d
tzcnt     r9d,r8d
cmp       r9d,10
jl        short M02_L09
mov       rax,rdx
add       r9d,0FFFFFFF0
M02_L09
 
sub       rax,rcx
shr       rax,1
add       eax,r9d
jmp       short M02_L03
M02_L10
 
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb xmm0,xmm0
movzx     edx,r8b
vmovd     xmm1,edx
vpbroadcastb xmm1,xmm1
lea       edx,[r9-8]
movsxd    rdx,edx
lea       rax,[rax+rdx*2]
cmp       rcx,rax
mov       rdx,rcx
cmova     rdx,rax
vmovups   xmm2,[rdx]
vpackuswb xmm2,xmm2,[rax]
vpcmpeqb  xmm0,xmm0,xmm2
vpcmpeqb  xmm1,xmm1,xmm2
vpor      xmm0,xmm0,xmm1
vptest    xmm0,xmm0
je        near ptr M02_L05
vpmovmskb r8d,xmm0
tzcnt     r8d,r8d
cmp       r8d,8
jl        short M02_L11
mov       rdx,rax
add       r8d,0FFFFFFF8
M02_L11
 
sub       rdx,rcx
shr       rdx,1
lea       eax,[rdx+r8]
jmp       near ptr M02_L03
M02_L12
 
add       r9d,0FFFFFFFC
movsx     r10,word ptr [rcx]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L13
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L14
M02_L13
 
mov       eax,1
M02_L14
 
test      al,al
je        short M02_L15
xor       eax,eax
vzeroupper
ret
M02_L15
 
movsx     r10,word ptr [rcx+2]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L16
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L17
M02_L16
 
mov       eax,1
M02_L17
 
test      al,al
je        short M02_L18
mov       eax,1
vzeroupper
ret
M02_L18
 
movsx     r10,word ptr [rcx+4]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L19
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L20
M02_L19
 
mov       eax,1
M02_L20
 
test      al,al
je        short M02_L21
mov       eax,2
vzeroupper
ret
M02_L21
 
movsx     r10,word ptr [rcx+6]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L22
movsx     rax,r8w
cmp       r10d,eax
sete      r10b
movzx     r10d,r10b
jmp       short M02_L23
M02_L22
 
mov       r10d,1
M02_L23
 
test      r10b,r10b
je        short M02_L24
mov       eax,3
jmp       near ptr M02_L03
M02_L24
 
mov       eax,4
test      r9d,r9d
jle       near ptr M02_L05
M02_L25
 
dec       r9d
movsx     r10,word ptr [rcx+rax*2]
movsx     r11,dx
cmp       r10d,r11d
je        short M02_L26
movsx     r11,r8w
cmp       r10d,r11d
sete      r10b
movzx     r10d,r10b
jmp       short M02_L27
M02_L26
 
mov       r10d,1
M02_L27
 
test      r10b,r10b
je        short M02_L28
jmp       near ptr M02_L03
M02_L28
 
inc       rax
jmp       near ptr M02_L07
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitLines()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
xor       eax,eax
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        near ptr M00_L04
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       near ptr M00_L05
jmp       near ptr M00_L05
M00_L00
 
mov       [rsp+38],rdx
mov       [rsp+40],r8d
lea       rcx,[rsp+38]
call      qword ptr [7FFE282DC210]; System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
mov       [rsp+30],rax
mov       rsi,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
M00_L01
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       [rsp+20],rdi
mov       [rsp+28],ebp
cmp       dword ptr [rsp+28],0
je        near ptr M00_L12
mov       rcx,[rsp+20]
mov       r9d,[rsp+28]
mov       r8d,0A
mov       edx,0D
call      qword ptr [7FFE285ADAE8]; System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
cmp       eax,0FFFFFFFF
je        near ptr M00_L03
mov       ecx,1
mov       edx,[rsp+28]
sub       edx,1
jo        near ptr M00_L15
cmp       eax,edx
jge       near ptr M00_L13
cmp       eax,[rsp+28]
jae       near ptr M00_L19
mov       rdx,[rsp+20]
mov       r8d,eax
cmp       word ptr [rdx+r8*2],0D
jne       near ptr M00_L13
mov       edx,eax
add       edx,1
jo        near ptr M00_L15
cmp       edx,[rsp+28]
jae       near ptr M00_L19
mov       r8,[rsp+20]
cmp       word ptr [r8+rdx*2],0A
jne       near ptr M00_L13
mov       ecx,eax
add       rcx,2
mov       edx,[rsp+28]
cmp       rcx,rdx
ja        near ptr M00_L14
mov       ecx,2
cmp       eax,[rsp+28]
ja        near ptr M00_L14
M00_L02
 
mov       rdx,[rsp+20]
mov       r8d,eax
lea       rax,[rsp+20]
add       ecx,r8d
jo        near ptr M00_L15
mov       r10d,[rax+8]
mov       ebp,r10d
sub       ebp,ecx
mov       r9d,ecx
mov       r11d,ebp
add       r9,r11
cmp       r9,r10
ja        near ptr M00_L14
mov       rax,[rax]
lea       rdi,[rax+rcx*2]
jmp       near ptr M00_L00
M00_L03
 
xor       edi,edi
xor       ebp,ebp
mov       rdx,[rsp+20]
mov       r8d,[rsp+28]
jmp       near ptr M00_L00
M00_L04
 
xor       ecx,ecx
M00_L05
 
test      ecx,ecx
je        near ptr M00_L16
cmp       dword ptr [rsi+8],0
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28D1F948]
test      eax,eax
jne       near ptr M00_L18
M00_L07
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L19
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28D1F948]
test      eax,eax
jne       near ptr M00_L18
M00_L09
 
test      rsi,rsi
jne       short M00_L10
xor       edi,edi
xor       ebp,ebp
jmp       short M00_L11
M00_L10
 
lea       rdi,[rsi+0C]
mov       ebp,[rsi+8]
M00_L11
 
jmp       near ptr M00_L01
M00_L12
 
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L13
 
mov       edx,eax
inc       rdx
mov       r8d,[rsp+28]
cmp       rdx,r8
ja        short M00_L14
cmp       eax,[rsp+28]
jbe       near ptr M00_L02
M00_L14
 
call      qword ptr [7FFE2848E9D0]
int       3
M00_L15
 
call      CORINFO_HELP_OVERFLOW
M00_L16
 
call      qword ptr [7FFE287A52D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L17
call      qword ptr [7FFE287A5020]
mov       rbx,rax
M00_L17
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,21CE4F08468
mov       r8,rbx
call      qword ptr [7FFE284B6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L18
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282273F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L19
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       rax,[rcx]
mov       ecx,[rcx+8]
mov       [rsp+28],rax
mov       [rsp+30],ecx
lea       rcx,[rsp+28]
call      System.String..ctor(System.ReadOnlySpan`1)
nop
add       rsp,38
ret
 
System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
vzeroupper
cmp       r9d,8
jl        near ptr M02_L06
mov       rax,rcx
cmp       r9d,10
jle       near ptr M02_L10
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb ymm0,xmm0
movzx     r8d,r8b
vmovd     xmm1,r8d
vpbroadcastb ymm1,xmm1
cmp       r9d,20
jle       short M02_L01
lea       edx,[r9-20]
movsxd    rdx,edx
lea       rdx,[rax+rdx*2]
M02_L00
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rax+20]
vpcmpeqb  ymm3,ymm0,ymm2
vpcmpeqb  ymm2,ymm1,ymm2
vpor      ymm2,ymm3,ymm2
vptest    ymm2,ymm2
jne       short M02_L02
add       rax,40
cmp       rax,rdx
jb        short M02_L00
M02_L01
 
add       r9d,0FFFFFFF0
movsxd    rdx,r9d
lea       rdx,[rcx+rdx*2]
cmp       rax,rdx
cmova     rax,rdx
jmp       short M02_L04
M02_L02
 
sub       rax,rcx
shr       rax,1
vpermq    ymm0,ymm2,0D8
vpmovmskb edx,ymm0
xor       ecx,ecx
tzcnt     ecx,edx
add       eax,ecx
M02_L03
 
vzeroupper
ret
M02_L04
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rdx]
vpcmpeqb  ymm0,ymm0,ymm2
vpcmpeqb  ymm1,ymm1,ymm2
vpor      ymm0,ymm0,ymm1
vptest    ymm0,ymm0
jne       short M02_L08
M02_L05
 
mov       eax,0FFFFFFFF
jmp       short M02_L03
M02_L06
 
xor       eax,eax
cmp       r9d,4
jge       near ptr M02_L12
M02_L07
 
test      r9d,r9d
jg        near ptr M02_L25
jmp       short M02_L05
M02_L08
 
vpermq    ymm0,ymm0,0D8
vpmovmskb r8d,ymm0
xor       r9d,r9d
tzcnt     r9d,r8d
cmp       r9d,10
jl        short M02_L09
mov       rax,rdx
add       r9d,0FFFFFFF0
M02_L09
 
sub       rax,rcx
shr       rax,1
add       eax,r9d
jmp       short M02_L03
M02_L10
 
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb xmm0,xmm0
movzx     edx,r8b
vmovd     xmm1,edx
vpbroadcastb xmm1,xmm1
lea       edx,[r9-8]
movsxd    rdx,edx
lea       rax,[rax+rdx*2]
cmp       rcx,rax
mov       rdx,rcx
cmova     rdx,rax
vmovups   xmm2,[rdx]
vpackuswb xmm2,xmm2,[rax]
vpcmpeqb  xmm0,xmm0,xmm2
vpcmpeqb  xmm1,xmm1,xmm2
vpor      xmm0,xmm0,xmm1
vptest    xmm0,xmm0
je        near ptr M02_L05
vpmovmskb r8d,xmm0
tzcnt     r8d,r8d
cmp       r8d,8
jl        short M02_L11
mov       rdx,rax
add       r8d,0FFFFFFF8
M02_L11
 
sub       rdx,rcx
shr       rdx,1
lea       eax,[rdx+r8]
jmp       near ptr M02_L03
M02_L12
 
add       r9d,0FFFFFFFC
movsx     r10,word ptr [rcx]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L13
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L14
M02_L13
 
mov       eax,1
M02_L14
 
test      al,al
je        short M02_L15
xor       eax,eax
vzeroupper
ret
M02_L15
 
movsx     r10,word ptr [rcx+2]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L16
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L17
M02_L16
 
mov       eax,1
M02_L17
 
test      al,al
je        short M02_L18
mov       eax,1
vzeroupper
ret
M02_L18
 
movsx     r10,word ptr [rcx+4]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L19
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L20
M02_L19
 
mov       eax,1
M02_L20
 
test      al,al
je        short M02_L21
mov       eax,2
vzeroupper
ret
M02_L21
 
movsx     r10,word ptr [rcx+6]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L22
movsx     rax,r8w
cmp       r10d,eax
sete      r10b
movzx     r10d,r10b
jmp       short M02_L23
M02_L22
 
mov       r10d,1
M02_L23
 
test      r10b,r10b
je        short M02_L24
mov       eax,3
jmp       near ptr M02_L03
M02_L24
 
mov       eax,4
test      r9d,r9d
jle       near ptr M02_L05
M02_L25
 
dec       r9d
movsx     r10,word ptr [rcx+rax*2]
movsx     r11,dx
cmp       r10d,r11d
je        short M02_L26
movsx     r11,r8w
cmp       r10d,r11d
sete      r10b
movzx     r10d,r10b
jmp       short M02_L27
M02_L26
 
mov       r10d,1
M02_L27
 
test      r10b,r10b
je        short M02_L28
jmp       near ptr M02_L03
M02_L28
 
inc       rax
jmp       near ptr M02_L07
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitLines()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
xor       eax,eax
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        near ptr M00_L05
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       near ptr M00_L06
jmp       near ptr M00_L06
M00_L00
 
mov       [rsp+38],rdx
mov       [rsp+40],r8d
lea       rcx,[rsp+38]
call      qword ptr [7FFE282CC210]; System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
mov       [rsp+30],rax
mov       rsi,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
M00_L01
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       [rsp+20],rdi
mov       [rsp+28],ebp
cmp       dword ptr [rsp+28],0
je        near ptr M00_L04
mov       rcx,[rsp+20]
mov       r9d,[rsp+28]
mov       r8d,0A
mov       edx,0D
call      qword ptr [7FFE28537C78]; System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
cmp       eax,0FFFFFFFF
je        near ptr M00_L03
mov       ecx,1
mov       edx,[rsp+28]
sub       edx,1
jo        near ptr M00_L15
cmp       eax,edx
jge       near ptr M00_L13
cmp       eax,[rsp+28]
jae       near ptr M00_L19
mov       rdx,[rsp+20]
mov       r8d,eax
cmp       word ptr [rdx+r8*2],0D
jne       near ptr M00_L13
mov       edx,eax
add       edx,1
jo        near ptr M00_L15
cmp       edx,[rsp+28]
jae       near ptr M00_L19
mov       r8,[rsp+20]
cmp       word ptr [r8+rdx*2],0A
jne       near ptr M00_L13
mov       ecx,eax
add       rcx,2
mov       edx,[rsp+28]
cmp       rcx,rdx
ja        near ptr M00_L14
mov       ecx,2
cmp       eax,[rsp+28]
ja        near ptr M00_L14
M00_L02
 
mov       rdx,[rsp+20]
mov       r8d,eax
lea       rax,[rsp+20]
add       ecx,r8d
jo        near ptr M00_L15
mov       r10d,[rax+8]
mov       ebp,r10d
sub       ebp,ecx
mov       r9d,ecx
mov       r11d,ebp
add       r9,r11
cmp       r9,r10
ja        near ptr M00_L14
mov       rax,[rax]
lea       rdi,[rax+rcx*2]
jmp       near ptr M00_L00
M00_L03
 
xor       edi,edi
xor       ebp,ebp
mov       rdx,[rsp+20]
mov       r8d,[rsp+28]
jmp       near ptr M00_L00
M00_L04
 
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L05
 
xor       ecx,ecx
M00_L06
 
test      ecx,ecx
je        near ptr M00_L16
cmp       dword ptr [rsi+8],0
je        short M00_L10
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L07
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L08
M00_L07
 
call      qword ptr [7FFE28D0D020]
test      eax,eax
jne       near ptr M00_L18
M00_L08
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L19
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L09
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L10
M00_L09
 
call      qword ptr [7FFE28D0D020]
test      eax,eax
jne       near ptr M00_L18
M00_L10
 
test      rsi,rsi
jne       short M00_L11
xor       edi,edi
xor       ebp,ebp
jmp       short M00_L12
M00_L11
 
lea       rdi,[rsi+0C]
mov       ebp,[rsi+8]
M00_L12
 
jmp       near ptr M00_L01
M00_L13
 
mov       edx,eax
inc       rdx
mov       r8d,[rsp+28]
cmp       rdx,r8
ja        short M00_L14
cmp       eax,[rsp+28]
jbe       near ptr M00_L02
M00_L14
 
call      qword ptr [7FFE2847E9D0]
int       3
M00_L15
 
call      CORINFO_HELP_OVERFLOW
M00_L16
 
call      qword ptr [7FFE287A44E0]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L17
call      qword ptr [7FFE287A4228]
mov       rbx,rax
M00_L17
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,289DDBE8468
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L18
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L10
M00_L19
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       rax,[rcx]
mov       ecx,[rcx+8]
mov       [rsp+28],rax
mov       [rsp+30],ecx
lea       rcx,[rsp+28]
call      System.String..ctor(System.ReadOnlySpan`1)
nop
add       rsp,38
ret
 
System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
vzeroupper
cmp       r9d,8
jl        near ptr M02_L06
mov       rax,rcx
cmp       r9d,10
jle       near ptr M02_L26
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb ymm0,xmm0
movzx     r8d,r8b
vmovd     xmm1,r8d
vpbroadcastb ymm1,xmm1
cmp       r9d,20
jle       short M02_L01
lea       edx,[r9-20]
movsxd    rdx,edx
lea       rdx,[rax+rdx*2]
M02_L00
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rax+20]
vpcmpeqb  ymm3,ymm0,ymm2
vpcmpeqb  ymm2,ymm1,ymm2
vpor      ymm2,ymm3,ymm2
vptest    ymm2,ymm2
jne       short M02_L02
add       rax,40
cmp       rax,rdx
jb        short M02_L00
M02_L01
 
add       r9d,0FFFFFFF0
movsxd    rdx,r9d
lea       rdx,[rcx+rdx*2]
cmp       rax,rdx
cmova     rax,rdx
jmp       short M02_L04
M02_L02
 
sub       rax,rcx
shr       rax,1
vpermq    ymm0,ymm2,0D8
vpmovmskb edx,ymm0
xor       ecx,ecx
tzcnt     ecx,edx
add       eax,ecx
M02_L03
 
vzeroupper
ret
M02_L04
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rdx]
vpcmpeqb  ymm0,ymm0,ymm2
vpcmpeqb  ymm1,ymm1,ymm2
vpor      ymm0,ymm0,ymm1
vptest    ymm0,ymm0
jne       near ptr M02_L24
M02_L05
 
mov       eax,0FFFFFFFF
jmp       short M02_L03
M02_L06
 
xor       eax,eax
cmp       r9d,4
jl        near ptr M02_L23
add       r9d,0FFFFFFFC
movsx     r10,word ptr [rcx]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L07
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L08
M02_L07
 
mov       eax,1
M02_L08
 
test      al,al
je        short M02_L09
xor       eax,eax
vzeroupper
ret
M02_L09
 
movsx     r10,word ptr [rcx+2]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L10
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L11
M02_L10
 
mov       eax,1
M02_L11
 
test      al,al
je        short M02_L12
mov       eax,1
vzeroupper
ret
M02_L12
 
movsx     r10,word ptr [rcx+4]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L13
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L14
M02_L13
 
mov       eax,1
M02_L14
 
test      al,al
je        short M02_L15
mov       eax,2
vzeroupper
ret
M02_L15
 
movsx     r10,word ptr [rcx+6]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L16
movsx     rax,r8w
cmp       r10d,eax
sete      r10b
movzx     r10d,r10b
jmp       short M02_L17
M02_L16
 
mov       r10d,1
M02_L17
 
test      r10b,r10b
je        short M02_L18
mov       eax,3
jmp       near ptr M02_L03
M02_L18
 
mov       eax,4
test      r9d,r9d
jle       near ptr M02_L05
M02_L19
 
dec       r9d
movsx     r10,word ptr [rcx+rax*2]
movsx     r11,dx
cmp       r10d,r11d
je        short M02_L20
movsx     r11,r8w
cmp       r10d,r11d
sete      r10b
movzx     r10d,r10b
jmp       short M02_L21
M02_L20
 
mov       r10d,1
M02_L21
 
test      r10b,r10b
je        short M02_L22
jmp       near ptr M02_L03
M02_L22
 
inc       rax
M02_L23
 
test      r9d,r9d
jg        short M02_L19
jmp       near ptr M02_L05
M02_L24
 
vpermq    ymm0,ymm0,0D8
vpmovmskb r8d,ymm0
xor       r9d,r9d
tzcnt     r9d,r8d
cmp       r9d,10
jl        short M02_L25
mov       rax,rdx
add       r9d,0FFFFFFF0
M02_L25
 
sub       rax,rcx
shr       rax,1
add       eax,r9d
jmp       near ptr M02_L03
M02_L26
 
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb xmm0,xmm0
movzx     edx,r8b
vmovd     xmm1,edx
vpbroadcastb xmm1,xmm1
lea       edx,[r9-8]
movsxd    rdx,edx
lea       rax,[rax+rdx*2]
cmp       rcx,rax
mov       rdx,rcx
cmova     rdx,rax
vmovups   xmm2,[rdx]
vpackuswb xmm2,xmm2,[rax]
vpcmpeqb  xmm0,xmm0,xmm2
vpcmpeqb  xmm1,xmm1,xmm2
vpor      xmm0,xmm0,xmm1
vptest    xmm0,xmm0
je        near ptr M02_L05
vpmovmskb r8d,xmm0
tzcnt     r8d,r8d
cmp       r8d,8
jl        short M02_L27
mov       rdx,rax
add       r8d,0FFFFFFF8
M02_L27
 
sub       rdx,rcx
shr       rdx,1
lea       eax,[rdx+r8]
jmp       near ptr M02_L03
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitLines()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
xor       eax,eax
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        near ptr M00_L03
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       near ptr M00_L04
jmp       near ptr M00_L04
M00_L00
 
mov       [rsp+38],rdx
mov       [rsp+40],r8d
lea       rcx,[rsp+38]
call      qword ptr [7FFE282AC210]; System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
mov       [rsp+30],rax
mov       rsi,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [rsi+8],rcx
M00_L01
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       [rsp+20],rdi
mov       [rsp+28],ebp
cmp       dword ptr [rsp+28],0
je        near ptr M00_L10
mov       rcx,[rsp+20]
mov       r9d,[rsp+28]
mov       r8d,0A
mov       edx,0D
call      qword ptr [7FFE2857DAE8]; System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
cmp       eax,0FFFFFFFF
je        near ptr M00_L08
mov       ecx,1
mov       edx,[rsp+28]
sub       edx,1
jo        near ptr M00_L15
cmp       eax,edx
jge       near ptr M00_L13
cmp       eax,[rsp+28]
jae       near ptr M00_L19
mov       rdx,[rsp+20]
mov       r8d,eax
cmp       word ptr [rdx+r8*2],0D
jne       near ptr M00_L13
mov       edx,eax
add       edx,1
jo        near ptr M00_L15
cmp       edx,[rsp+28]
jae       near ptr M00_L19
mov       r8,[rsp+20]
cmp       word ptr [r8+rdx*2],0A
jne       near ptr M00_L13
mov       ecx,eax
add       rcx,2
mov       edx,[rsp+28]
cmp       rcx,rdx
ja        near ptr M00_L14
mov       ecx,2
cmp       eax,[rsp+28]
ja        near ptr M00_L14
M00_L02
 
mov       rdx,[rsp+20]
mov       r8d,eax
lea       rax,[rsp+20]
add       ecx,r8d
jo        near ptr M00_L15
mov       r10d,[rax+8]
mov       ebp,r10d
sub       ebp,ecx
mov       r9d,ecx
mov       r11d,ebp
add       r9,r11
cmp       r9,r10
ja        near ptr M00_L14
mov       rax,[rax]
lea       rdi,[rax+rcx*2]
jmp       near ptr M00_L00
M00_L03
 
xor       ecx,ecx
M00_L04
 
test      ecx,ecx
je        near ptr M00_L16
cmp       dword ptr [rsi+8],0
je        short M00_L06
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L09
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
M00_L05
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L19
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L11
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
M00_L06
 
test      rsi,rsi
jne       short M00_L12
xor       edi,edi
xor       ebp,ebp
M00_L07
 
jmp       near ptr M00_L01
M00_L08
 
xor       edi,edi
xor       ebp,ebp
mov       rdx,[rsp+20]
mov       r8d,[rsp+28]
jmp       near ptr M00_L00
M00_L09
 
call      qword ptr [7FFE28CECE10]
test      eax,eax
jne       near ptr M00_L18
jmp       short M00_L05
M00_L10
 
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L11
 
call      qword ptr [7FFE28CECE10]
test      eax,eax
jne       short M00_L18
jmp       short M00_L06
M00_L12
 
lea       rdi,[rsi+0C]
mov       ebp,[rsi+8]
jmp       short M00_L07
M00_L13
 
mov       edx,eax
inc       rdx
mov       r8d,[rsp+28]
cmp       rdx,r8
ja        short M00_L14
cmp       eax,[rsp+28]
jbe       near ptr M00_L02
M00_L14
 
call      qword ptr [7FFE2845E9D0]
int       3
M00_L15
 
call      CORINFO_HELP_OVERFLOW
M00_L16
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L17
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L17
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,16CD7828468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L18
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L06
M00_L19
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       rax,[rcx]
mov       ecx,[rcx+8]
mov       [rsp+28],rax
mov       [rsp+30],ecx
lea       rcx,[rsp+28]
call      System.String..ctor(System.ReadOnlySpan`1)
nop
add       rsp,38
ret
 
System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
vzeroupper
cmp       r9d,8
jl        near ptr M02_L06
mov       rax,rcx
cmp       r9d,10
jle       near ptr M02_L26
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb ymm0,xmm0
movzx     r8d,r8b
vmovd     xmm1,r8d
vpbroadcastb ymm1,xmm1
cmp       r9d,20
jle       short M02_L01
lea       edx,[r9-20]
movsxd    rdx,edx
lea       rdx,[rax+rdx*2]
M02_L00
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rax+20]
vpcmpeqb  ymm3,ymm0,ymm2
vpcmpeqb  ymm2,ymm1,ymm2
vpor      ymm2,ymm3,ymm2
vptest    ymm2,ymm2
jne       short M02_L02
add       rax,40
cmp       rax,rdx
jb        short M02_L00
M02_L01
 
add       r9d,0FFFFFFF0
movsxd    rdx,r9d
lea       rdx,[rcx+rdx*2]
cmp       rax,rdx
cmova     rax,rdx
jmp       short M02_L04
M02_L02
 
sub       rax,rcx
shr       rax,1
vpermq    ymm0,ymm2,0D8
vpmovmskb edx,ymm0
xor       ecx,ecx
tzcnt     ecx,edx
add       eax,ecx
M02_L03
 
vzeroupper
ret
M02_L04
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rdx]
vpcmpeqb  ymm0,ymm0,ymm2
vpcmpeqb  ymm1,ymm1,ymm2
vpor      ymm0,ymm0,ymm1
vptest    ymm0,ymm0
jne       near ptr M02_L24
M02_L05
 
mov       eax,0FFFFFFFF
jmp       short M02_L03
M02_L06
 
xor       eax,eax
cmp       r9d,4
jl        near ptr M02_L23
add       r9d,0FFFFFFFC
movsx     r10,word ptr [rcx]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L07
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L08
M02_L07
 
mov       eax,1
M02_L08
 
test      al,al
je        short M02_L09
xor       eax,eax
vzeroupper
ret
M02_L09
 
movsx     r10,word ptr [rcx+2]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L10
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L11
M02_L10
 
mov       eax,1
M02_L11
 
test      al,al
je        short M02_L12
mov       eax,1
vzeroupper
ret
M02_L12
 
movsx     r10,word ptr [rcx+4]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L13
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L14
M02_L13
 
mov       eax,1
M02_L14
 
test      al,al
je        short M02_L15
mov       eax,2
vzeroupper
ret
M02_L15
 
movsx     r10,word ptr [rcx+6]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L16
movsx     rax,r8w
cmp       r10d,eax
sete      r10b
movzx     r10d,r10b
jmp       short M02_L17
M02_L16
 
mov       r10d,1
M02_L17
 
test      r10b,r10b
je        short M02_L18
mov       eax,3
jmp       near ptr M02_L03
M02_L18
 
mov       eax,4
test      r9d,r9d
jle       near ptr M02_L05
M02_L19
 
dec       r9d
movsx     r10,word ptr [rcx+rax*2]
movsx     r11,dx
cmp       r10d,r11d
je        short M02_L20
movsx     r11,r8w
cmp       r10d,r11d
sete      r10b
movzx     r10d,r10b
jmp       short M02_L21
M02_L20
 
mov       r10d,1
M02_L21
 
test      r10b,r10b
je        short M02_L22
jmp       near ptr M02_L03
M02_L22
 
inc       rax
M02_L23
 
test      r9d,r9d
jg        short M02_L19
jmp       near ptr M02_L05
M02_L24
 
vpermq    ymm0,ymm0,0D8
vpmovmskb r8d,ymm0
xor       r9d,r9d
tzcnt     r9d,r8d
cmp       r9d,10
jl        short M02_L25
mov       rax,rdx
add       r9d,0FFFFFFF0
M02_L25
 
sub       rax,rcx
shr       rax,1
add       eax,r9d
jmp       near ptr M02_L03
M02_L26
 
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb xmm0,xmm0
movzx     edx,r8b
vmovd     xmm1,edx
vpbroadcastb xmm1,xmm1
lea       edx,[r9-8]
movsxd    rdx,edx
lea       rax,[rax+rdx*2]
cmp       rcx,rax
mov       rdx,rcx
cmova     rdx,rax
vmovups   xmm2,[rdx]
vpackuswb xmm2,xmm2,[rax]
vpcmpeqb  xmm0,xmm0,xmm2
vpcmpeqb  xmm1,xmm1,xmm2
vpor      xmm0,xmm0,xmm1
vptest    xmm0,xmm0
je        near ptr M02_L05
vpmovmskb r8d,xmm0
tzcnt     r8d,r8d
cmp       r8d,8
jl        short M02_L27
mov       rdx,rax
add       r8d,0FFFFFFF8
M02_L27
 
sub       rdx,rcx
shr       rdx,1
lea       eax,[rdx+r8]
jmp       near ptr M02_L03
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitLines()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
xor       eax,eax
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        near ptr M00_L05
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       near ptr M00_L06
jmp       near ptr M00_L06
M00_L00
 
mov       [rsp+38],rdx
mov       [rsp+40],r8d
lea       rcx,[rsp+38]
call      qword ptr [7FFE2829C210]; System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
mov       [rsp+30],rax
mov       rsi,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
M00_L01
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       [rsp+20],rdi
mov       [rsp+28],ebp
cmp       dword ptr [rsp+28],0
je        near ptr M00_L04
mov       rcx,[rsp+20]
mov       r9d,[rsp+28]
mov       r8d,0A
mov       edx,0D
call      qword ptr [7FFE2856DAE8]; System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
cmp       eax,0FFFFFFFF
je        near ptr M00_L03
mov       ecx,1
mov       edx,[rsp+28]
sub       edx,1
jo        near ptr M00_L15
cmp       eax,edx
jge       near ptr M00_L13
cmp       eax,[rsp+28]
jae       near ptr M00_L19
mov       rdx,[rsp+20]
mov       r8d,eax
cmp       word ptr [rdx+r8*2],0D
jne       near ptr M00_L13
mov       edx,eax
add       edx,1
jo        near ptr M00_L15
cmp       edx,[rsp+28]
jae       near ptr M00_L19
mov       r8,[rsp+20]
cmp       word ptr [r8+rdx*2],0A
jne       near ptr M00_L13
mov       ecx,eax
add       rcx,2
mov       edx,[rsp+28]
cmp       rcx,rdx
ja        near ptr M00_L14
mov       ecx,2
cmp       eax,[rsp+28]
ja        near ptr M00_L14
M00_L02
 
mov       rdx,[rsp+20]
mov       r8d,eax
lea       rax,[rsp+20]
add       ecx,r8d
jo        near ptr M00_L15
mov       r10d,[rax+8]
mov       ebp,r10d
sub       ebp,ecx
mov       r9d,ecx
mov       r11d,ebp
add       r9,r11
cmp       r9,r10
ja        near ptr M00_L14
mov       rax,[rax]
lea       rdi,[rax+rcx*2]
jmp       near ptr M00_L00
M00_L03
 
xor       edi,edi
xor       ebp,ebp
mov       rdx,[rsp+20]
mov       r8d,[rsp+28]
jmp       near ptr M00_L00
M00_L04
 
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L05
 
xor       ecx,ecx
M00_L06
 
test      ecx,ecx
je        near ptr M00_L16
cmp       dword ptr [rsi+8],0
je        short M00_L10
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L07
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L08
M00_L07
 
call      qword ptr [7FFE28CDCD38]
test      eax,eax
jne       near ptr M00_L18
M00_L08
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L19
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L09
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L10
M00_L09
 
call      qword ptr [7FFE28CDCD38]
test      eax,eax
jne       near ptr M00_L18
M00_L10
 
test      rsi,rsi
jne       short M00_L11
xor       edi,edi
xor       ebp,ebp
jmp       short M00_L12
M00_L11
 
lea       rdi,[rsi+0C]
mov       ebp,[rsi+8]
M00_L12
 
jmp       near ptr M00_L01
M00_L13
 
mov       edx,eax
inc       rdx
mov       r8d,[rsp+28]
cmp       rdx,r8
ja        short M00_L14
cmp       eax,[rsp+28]
jbe       near ptr M00_L02
M00_L14
 
call      qword ptr [7FFE2844E9D0]
int       3
M00_L15
 
call      CORINFO_HELP_OVERFLOW
M00_L16
 
call      qword ptr [7FFE287652D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L17
call      qword ptr [7FFE28765020]
mov       rbx,rax
M00_L17
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,2B9AEA38468
mov       r8,rbx
call      qword ptr [7FFE28476670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L18
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L10
M00_L19
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       rax,[rcx]
mov       ecx,[rcx+8]
mov       [rsp+28],rax
mov       [rsp+30],ecx
lea       rcx,[rsp+28]
call      System.String..ctor(System.ReadOnlySpan`1)
nop
add       rsp,38
ret
 
System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
vzeroupper
cmp       r9d,8
jl        near ptr M02_L06
mov       rax,rcx
cmp       r9d,10
jle       near ptr M02_L26
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb ymm0,xmm0
movzx     r8d,r8b
vmovd     xmm1,r8d
vpbroadcastb ymm1,xmm1
cmp       r9d,20
jle       short M02_L01
lea       edx,[r9-20]
movsxd    rdx,edx
lea       rdx,[rax+rdx*2]
M02_L00
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rax+20]
vpcmpeqb  ymm3,ymm0,ymm2
vpcmpeqb  ymm2,ymm1,ymm2
vpor      ymm2,ymm3,ymm2
vptest    ymm2,ymm2
jne       short M02_L02
add       rax,40
cmp       rax,rdx
jb        short M02_L00
M02_L01
 
add       r9d,0FFFFFFF0
movsxd    rdx,r9d
lea       rdx,[rcx+rdx*2]
cmp       rax,rdx
cmova     rax,rdx
jmp       short M02_L04
M02_L02
 
sub       rax,rcx
shr       rax,1
vpermq    ymm0,ymm2,0D8
vpmovmskb edx,ymm0
xor       ecx,ecx
tzcnt     ecx,edx
add       eax,ecx
M02_L03
 
vzeroupper
ret
M02_L04
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rdx]
vpcmpeqb  ymm0,ymm0,ymm2
vpcmpeqb  ymm1,ymm1,ymm2
vpor      ymm0,ymm0,ymm1
vptest    ymm0,ymm0
jne       near ptr M02_L24
M02_L05
 
mov       eax,0FFFFFFFF
jmp       short M02_L03
M02_L06
 
xor       eax,eax
cmp       r9d,4
jl        near ptr M02_L23
add       r9d,0FFFFFFFC
movsx     r10,word ptr [rcx]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L07
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L08
M02_L07
 
mov       eax,1
M02_L08
 
test      al,al
je        short M02_L09
xor       eax,eax
vzeroupper
ret
M02_L09
 
movsx     r10,word ptr [rcx+2]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L10
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L11
M02_L10
 
mov       eax,1
M02_L11
 
test      al,al
je        short M02_L12
mov       eax,1
vzeroupper
ret
M02_L12
 
movsx     r10,word ptr [rcx+4]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L13
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L14
M02_L13
 
mov       eax,1
M02_L14
 
test      al,al
je        short M02_L15
mov       eax,2
vzeroupper
ret
M02_L15
 
movsx     r10,word ptr [rcx+6]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L16
movsx     rax,r8w
cmp       r10d,eax
sete      r10b
movzx     r10d,r10b
jmp       short M02_L17
M02_L16
 
mov       r10d,1
M02_L17
 
test      r10b,r10b
je        short M02_L18
mov       eax,3
jmp       near ptr M02_L03
M02_L18
 
mov       eax,4
test      r9d,r9d
jle       near ptr M02_L05
M02_L19
 
dec       r9d
movsx     r10,word ptr [rcx+rax*2]
movsx     r11,dx
cmp       r10d,r11d
je        short M02_L20
movsx     r11,r8w
cmp       r10d,r11d
sete      r10b
movzx     r10d,r10b
jmp       short M02_L21
M02_L20
 
mov       r10d,1
M02_L21
 
test      r10b,r10b
je        short M02_L22
jmp       near ptr M02_L03
M02_L22
 
inc       rax
M02_L23
 
test      r9d,r9d
jg        short M02_L19
jmp       near ptr M02_L05
M02_L24
 
vpermq    ymm0,ymm0,0D8
vpmovmskb r8d,ymm0
xor       r9d,r9d
tzcnt     r9d,r8d
cmp       r9d,10
jl        short M02_L25
mov       rax,rdx
add       r9d,0FFFFFFF0
M02_L25
 
sub       rax,rcx
shr       rax,1
add       eax,r9d
jmp       near ptr M02_L03
M02_L26
 
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb xmm0,xmm0
movzx     edx,r8b
vmovd     xmm1,edx
vpbroadcastb xmm1,xmm1
lea       edx,[r9-8]
movsxd    rdx,edx
lea       rax,[rax+rdx*2]
cmp       rcx,rax
mov       rdx,rcx
cmova     rdx,rax
vmovups   xmm2,[rdx]
vpackuswb xmm2,xmm2,[rax]
vpcmpeqb  xmm0,xmm0,xmm2
vpcmpeqb  xmm1,xmm1,xmm2
vpor      xmm0,xmm0,xmm1
vptest    xmm0,xmm0
je        near ptr M02_L05
vpmovmskb r8d,xmm0
tzcnt     r8d,r8d
cmp       r8d,8
jl        short M02_L27
mov       rdx,rax
add       r8d,0FFFFFFF8
M02_L27
 
sub       rdx,rcx
shr       rdx,1
lea       eax,[rdx+r8]
jmp       near ptr M02_L03
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitLines()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
xor       eax,eax
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        near ptr M00_L05
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       near ptr M00_L06
jmp       near ptr M00_L06
M00_L00
 
mov       [rsp+38],rdx
mov       [rsp+40],r8d
lea       rcx,[rsp+38]
call      qword ptr [7FFE282AC210]; System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
mov       [rsp+30],rax
mov       rsi,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
M00_L01
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       [rsp+20],rdi
mov       [rsp+28],ebp
cmp       dword ptr [rsp+28],0
je        near ptr M00_L04
mov       rcx,[rsp+20]
mov       r9d,[rsp+28]
mov       r8d,0A
mov       edx,0D
call      qword ptr [7FFE2857DAE8]; System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
cmp       eax,0FFFFFFFF
je        near ptr M00_L03
mov       ecx,1
mov       edx,[rsp+28]
sub       edx,1
jo        near ptr M00_L15
cmp       eax,edx
jge       near ptr M00_L13
cmp       eax,[rsp+28]
jae       near ptr M00_L19
mov       rdx,[rsp+20]
mov       r8d,eax
cmp       word ptr [rdx+r8*2],0D
jne       near ptr M00_L13
mov       edx,eax
add       edx,1
jo        near ptr M00_L15
cmp       edx,[rsp+28]
jae       near ptr M00_L19
mov       r8,[rsp+20]
cmp       word ptr [r8+rdx*2],0A
jne       near ptr M00_L13
mov       ecx,eax
add       rcx,2
mov       edx,[rsp+28]
cmp       rcx,rdx
ja        near ptr M00_L14
mov       ecx,2
cmp       eax,[rsp+28]
ja        near ptr M00_L14
M00_L02
 
mov       rdx,[rsp+20]
mov       r8d,eax
lea       rax,[rsp+20]
add       ecx,r8d
jo        near ptr M00_L15
mov       r10d,[rax+8]
mov       ebp,r10d
sub       ebp,ecx
mov       r9d,ecx
mov       r11d,ebp
add       r9,r11
cmp       r9,r10
ja        near ptr M00_L14
mov       rax,[rax]
lea       rdi,[rax+rcx*2]
jmp       near ptr M00_L00
M00_L03
 
xor       edi,edi
xor       ebp,ebp
mov       rdx,[rsp+20]
mov       r8d,[rsp+28]
jmp       near ptr M00_L00
M00_L04
 
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L05
 
xor       ecx,ecx
M00_L06
 
test      ecx,ecx
je        near ptr M00_L16
cmp       dword ptr [rsi+8],0
je        short M00_L10
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L07
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L08
M00_L07
 
call      qword ptr [7FFE28CECD38]
test      eax,eax
jne       near ptr M00_L18
M00_L08
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L19
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L09
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L18
jmp       short M00_L10
M00_L09
 
call      qword ptr [7FFE28CECD38]
test      eax,eax
jne       near ptr M00_L18
M00_L10
 
test      rsi,rsi
jne       short M00_L11
xor       edi,edi
xor       ebp,ebp
jmp       short M00_L12
M00_L11
 
lea       rdi,[rsi+0C]
mov       ebp,[rsi+8]
M00_L12
 
jmp       near ptr M00_L01
M00_L13
 
mov       edx,eax
inc       rdx
mov       r8d,[rsp+28]
cmp       rdx,r8
ja        short M00_L14
cmp       eax,[rsp+28]
jbe       near ptr M00_L02
M00_L14
 
call      qword ptr [7FFE2845E9D0]
int       3
M00_L15
 
call      CORINFO_HELP_OVERFLOW
M00_L16
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L17
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L17
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,1E5B70B8468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L18
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L10
M00_L19
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.ReadOnlySpan`1[[System.Char, System.Private.CoreLib]].ToString()
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       rax,[rcx]
mov       ecx,[rcx+8]
mov       [rsp+28],rax
mov       [rsp+30],ecx
lea       rcx,[rsp+28]
call      System.String..ctor(System.ReadOnlySpan`1)
nop
add       rsp,38
ret
 
System.PackedSpanHelpers.IndexOfAny[[System.SpanHelpers+DontNegate`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int16, Int16, Int32)
vzeroupper
cmp       r9d,8
jl        near ptr M02_L06
mov       rax,rcx
cmp       r9d,10
jle       near ptr M02_L26
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb ymm0,xmm0
movzx     r8d,r8b
vmovd     xmm1,r8d
vpbroadcastb ymm1,xmm1
cmp       r9d,20
jle       short M02_L01
lea       edx,[r9-20]
movsxd    rdx,edx
lea       rdx,[rax+rdx*2]
M02_L00
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rax+20]
vpcmpeqb  ymm3,ymm0,ymm2
vpcmpeqb  ymm2,ymm1,ymm2
vpor      ymm2,ymm3,ymm2
vptest    ymm2,ymm2
jne       short M02_L02
add       rax,40
cmp       rax,rdx
jb        short M02_L00
M02_L01
 
add       r9d,0FFFFFFF0
movsxd    rdx,r9d
lea       rdx,[rcx+rdx*2]
cmp       rax,rdx
cmova     rax,rdx
jmp       short M02_L04
M02_L02
 
sub       rax,rcx
shr       rax,1
vpermq    ymm0,ymm2,0D8
vpmovmskb edx,ymm0
xor       ecx,ecx
tzcnt     ecx,edx
add       eax,ecx
M02_L03
 
vzeroupper
ret
M02_L04
 
vmovups   ymm2,[rax]
vpackuswb ymm2,ymm2,[rdx]
vpcmpeqb  ymm0,ymm0,ymm2
vpcmpeqb  ymm1,ymm1,ymm2
vpor      ymm0,ymm0,ymm1
vptest    ymm0,ymm0
jne       near ptr M02_L24
M02_L05
 
mov       eax,0FFFFFFFF
jmp       short M02_L03
M02_L06
 
xor       eax,eax
cmp       r9d,4
jl        near ptr M02_L23
add       r9d,0FFFFFFFC
movsx     r10,word ptr [rcx]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L07
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L08
M02_L07
 
mov       eax,1
M02_L08
 
test      al,al
je        short M02_L09
xor       eax,eax
vzeroupper
ret
M02_L09
 
movsx     r10,word ptr [rcx+2]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L10
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L11
M02_L10
 
mov       eax,1
M02_L11
 
test      al,al
je        short M02_L12
mov       eax,1
vzeroupper
ret
M02_L12
 
movsx     r10,word ptr [rcx+4]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L13
movsx     rax,r8w
cmp       r10d,eax
sete      al
movzx     eax,al
jmp       short M02_L14
M02_L13
 
mov       eax,1
M02_L14
 
test      al,al
je        short M02_L15
mov       eax,2
vzeroupper
ret
M02_L15
 
movsx     r10,word ptr [rcx+6]
movsx     rax,dx
cmp       r10d,eax
je        short M02_L16
movsx     rax,r8w
cmp       r10d,eax
sete      r10b
movzx     r10d,r10b
jmp       short M02_L17
M02_L16
 
mov       r10d,1
M02_L17
 
test      r10b,r10b
je        short M02_L18
mov       eax,3
jmp       near ptr M02_L03
M02_L18
 
mov       eax,4
test      r9d,r9d
jle       near ptr M02_L05
M02_L19
 
dec       r9d
movsx     r10,word ptr [rcx+rax*2]
movsx     r11,dx
cmp       r10d,r11d
je        short M02_L20
movsx     r11,r8w
cmp       r10d,r11d
sete      r10b
movzx     r10d,r10b
jmp       short M02_L21
M02_L20
 
mov       r10d,1
M02_L21
 
test      r10b,r10b
je        short M02_L22
jmp       near ptr M02_L03
M02_L22
 
inc       rax
M02_L23
 
test      r9d,r9d
jg        short M02_L19
jmp       near ptr M02_L05
M02_L24
 
vpermq    ymm0,ymm0,0D8
vpmovmskb r8d,ymm0
xor       r9d,r9d
tzcnt     r9d,r8d
cmp       r9d,10
jl        short M02_L25
mov       rax,rdx
add       r9d,0FFFFFFF0
M02_L25
 
sub       rax,rcx
shr       rax,1
add       eax,r9d
jmp       near ptr M02_L03
M02_L26
 
movzx     edx,dl
vmovd     xmm0,edx
vpbroadcastb xmm0,xmm0
movzx     edx,r8b
vmovd     xmm1,edx
vpbroadcastb xmm1,xmm1
lea       edx,[r9-8]
movsxd    rdx,edx
lea       rax,[rax+rdx*2]
cmp       rcx,rax
mov       rdx,rcx
cmova     rdx,rax
vmovups   xmm2,[rdx]
vpackuswb xmm2,xmm2,[rax]
vpcmpeqb  xmm0,xmm0,xmm2
vpcmpeqb  xmm1,xmm1,xmm2
vpor      xmm0,xmm0,xmm1
vptest    xmm0,xmm0
je        near ptr M02_L05
vpmovmskb r8d,xmm0
tzcnt     r8d,r8d
cmp       r8d,8
jl        short M02_L27
mov       rdx,rax
add       r8d,0FFFFFFF8
M02_L27
 
sub       rdx,rcx
shr       rdx,1
lea       eax,[rdx+r8]
jmp       near ptr M02_L03
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M03_L03
xor       r15d,r15d
test      edi,edi
jle       short M03_L03
M03_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M03_L03
jmp       short M03_L02
M03_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L03
M03_L02
 
inc       r15d
cmp       edi,r15d
jg        short M03_L00
M03_L03
 
test      sil,2
je        near ptr M03_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M03_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M03_L07
cmp       edi,r14d
jle       short M03_L07
M03_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L06
M03_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L04
jmp       short M03_L10
M03_L07
 
cmp       r14d,edi
jae       short M03_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M03_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M03_L10
jmp       short M03_L09
M03_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M03_L10
M03_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M03_L07
M03_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M03_L12
mov       rax,rbx
M03_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L12
 
test      r8d,r8d
je        short M03_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M03_L11
M03_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M03_L11
M03_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitRemoveEmpty()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L27
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CED470]
test      eax,eax
jne       near ptr M00_L29
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L34
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CED470]
test      eax,eax
jne       near ptr M00_L29
M00_L05
 
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28CED470]
test      eax,eax
jne       near ptr M00_L30
M00_L07
 
dec       edi
mov       ecx,edi
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28CED470]
test      eax,eax
jne       near ptr M00_L30
M00_L09
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2C
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L31
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280B1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L32
mov       rcx,[rdi+8]
mov       r11,7FFE280B1060
call      qword ptr [r11]
mov       rcx,rax
M00_L10
 
mov       [rbp-58],rcx
test      rcx,rcx
je        near ptr M00_L19
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       near ptr M00_L19
jmp       short M00_L13
M00_L11
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L12
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L13
 
cmp       rsi,rdi
jne       short M00_L16
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L15
mov       [rax+8],r8d
jmp       short M00_L11
M00_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L15
 
mov       [rax+8],r14d
jmp       near ptr M00_L25
M00_L16
 
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L23
mov       rcx,[rbp-58]
jmp       near ptr M00_L25
M00_L17
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L18
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L19
 
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       short M00_L20
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L21
mov       [rax+8],r8d
jmp       short M00_L17
M00_L20
 
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L24
mov       rcx,[rbp-58]
jmp       short M00_L25
M00_L21
 
mov       [rax+8],r14d
jmp       short M00_L25
M00_L22
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2845EFD0]
int       3
M00_L23
 
mov       rcx,[rbp-58]
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L12
M00_L24
 
mov       rcx,[rbp-58]
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L18
M00_L25
 
cmp       rsi,rdi
jne       near ptr M00_L33
M00_L26
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L27
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L28
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L28
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rcx,r13
mov       rdx,2B675EB8468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,r13
call      CORINFO_HELP_THROW
M00_L29
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L30
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L31
 
mov       ecx,14
call      qword ptr [7FFE2845ED00]
int       3
M00_L32
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,275E4002010
mov       rcx,[rcx]
jmp       near ptr M00_L10
M00_L33
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
jmp       near ptr M00_L26
M00_L34
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L35
mov       rcx,[rbp-58]
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
je        short M00_L35
mov       r11,7FFE280B1050
call      qword ptr [r11]
M00_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0B48848FA1FE0
mov       [rbp],rax
mov       rbx,rcx
mov       esi,r8d
mov       edi,r9d
test      esi,esi
jl        near ptr M01_L12
test      edi,0FFFFFFFC
jne       near ptr M01_L13
cmp       esi,1
jle       short M01_L01
mov       r14d,[rbx+8]
test      r14d,r14d
je        short M01_L01
cmp       dword ptr [rdx+8],0
je        near ptr M01_L14
M01_L00
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rbx+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r14d
vmovdqu   xmm0,xmmword ptr [rdx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M01_L06
mov       r8,[rbp+58]
test      eax,eax
jne       short M01_L07
mov       esi,1
M01_L01
 
test      esi,esi
je        near ptr M01_L16
mov       r14,rbx
test      dil,2
jne       near ptr M01_L15
M01_L02
 
test      dil,1
je        short M01_L03
cmp       dword ptr [r14+8],0
je        near ptr M01_L16
M01_L03
 
mov       rcx,offset MT_System.String[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
lea       rcx,[r15+10]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,r15
M01_L04
 
mov       rcx,0B48848FA1FE0
cmp       [rbp],rcx
je        short M01_L05
call      CORINFO_HELP_FAIL_FAST
M01_L05
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L06
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L07
 
test      edi,edi
jne       short M01_L08
xor       edi,edi
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rdi
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       r14,rax
jmp       short M01_L09
M01_L08
 
xor       ecx,ecx
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       [rsp+28],edi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       r14,rax
M01_L09
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M01_L10
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,275E4001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L10
 
mov       rax,r14
mov       rcx,0B48848FA1FE0
cmp       [rbp],rcx
je        short M01_L11
call      CORINFO_HELP_FAIL_FAST
M01_L11
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L12
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,esi
call      qword ptr [7FFE28CBC1E0]
int       3
M01_L13
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M01_L14
 
mov       ecx,edi
and       ecx,0FFFFFFFD
cmp       r14d,esi
cmovl     edi,ecx
jmp       near ptr M01_L00
M01_L15
 
mov       rcx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE281F7318]; System.String.Trim()
mov       r14,rax
jmp       near ptr M01_L02
M01_L16
 
mov       rcx,7FFE28135120
mov       edx,7C
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,275E4002008
mov       rax,[rax]
jmp       near ptr M01_L04
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M02_L03
xor       r15d,r15d
test      edi,edi
jle       short M02_L03
M02_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M02_L03
jmp       short M02_L02
M02_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L03
M02_L02
 
inc       r15d
cmp       edi,r15d
jg        short M02_L00
M02_L03
 
test      sil,2
je        near ptr M02_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M02_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M02_L07
cmp       edi,r14d
jle       short M02_L07
M02_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L06
M02_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L04
jmp       short M02_L10
M02_L07
 
cmp       r14d,edi
jae       short M02_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L09
M02_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L07
M02_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M02_L12
mov       rax,rbx
M02_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L12
 
test      r8d,r8d
je        short M02_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M02_L11
M02_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M02_L11
M02_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitRemoveEmpty()
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+70]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-38],xmm4
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
mov       edi,[rsi+8]
xor       ecx,ecx
test      edi,edi
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
test      edi,edi
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L20
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L22
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CEF738]
test      eax,eax
jne       near ptr M00_L22
M00_L03
 
lea       ecx,[rdi-1]
cmp       ecx,edi
jae       near ptr M00_L27
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L22
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CEF738]
test      eax,eax
jne       near ptr M00_L22
M00_L05
 
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L23
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28CEF738]
test      eax,eax
jne       near ptr M00_L23
M00_L07
 
dec       edi
mov       ecx,edi
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L23
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28CEF738]
test      eax,eax
jne       near ptr M00_L23
M00_L09
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2C
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-38],rax
mov       dword ptr [rbp-30],1
lea       rdx,[rbp-38]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L24
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280B1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L25
mov       rcx,[rdi+8]
mov       r11,7FFE280B1060
call      qword ptr [r11]
mov       rcx,rax
M00_L10
 
mov       [rbp-40],rcx
mov       rsi,[rcx]
M00_L11
 
mov       rdx,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdx
jne       short M00_L15
mov       rax,rcx
mov       edx,[rax+8]
inc       edx
mov       edi,[rax+0C]
cmp       edx,edi
jae       short M00_L14
mov       [rax+8],edx
mov       rdx,rcx
mov       r8d,[rdx+8]
cmp       r8d,[rdx+0C]
jae       short M00_L16
mov       rdx,[rdx+10]
cmp       r8d,[rdx+8]
jae       short M00_L13
mov       eax,r8d
mov       r14,[rdx+rax*8+10]
M00_L12
 
mov       [rbp-28],r14
mov       rdi,[rbx+18]
mov       rdx,[rbp-28]
lea       rcx,[rdi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [rdi+8],rcx
mov       rcx,[rbp-40]
jmp       short M00_L11
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       short M00_L18
M00_L15
 
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L17
mov       rcx,[rbp-40]
jmp       short M00_L18
M00_L16
 
mov       ecx,r8d
call      qword ptr [7FFE2845EFD0]
int       3
M00_L17
 
mov       rcx,[rbp-40]
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r14,rax
jmp       short M00_L12
M00_L18
 
mov       rax,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rax
jne       near ptr M00_L26
M00_L19
 
add       rsp,50
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M00_L20
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L21
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L21
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,24715F18468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L22
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L23
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L24
 
mov       ecx,14
call      qword ptr [7FFE2845ED00]
int       3
M00_L25
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,20688002010
mov       rcx,[rcx]
jmp       near ptr M00_L10
M00_L26
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
jmp       near ptr M00_L19
M00_L27
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-40],0
je        short M00_L28
mov       rcx,[rbp-40]
mov       rsi,[rcx]
mov       r11,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,r11
je        short M00_L28
mov       r11,7FFE280B1050
call      qword ptr [r11]
M00_L28
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,29E5ACABE3BB
mov       [rbp],rax
mov       rbx,rcx
mov       esi,r8d
mov       edi,r9d
test      esi,esi
jl        near ptr M01_L12
test      edi,0FFFFFFFC
jne       near ptr M01_L13
cmp       esi,1
jle       short M01_L01
mov       r14d,[rbx+8]
test      r14d,r14d
je        short M01_L01
cmp       dword ptr [rdx+8],0
je        near ptr M01_L14
M01_L00
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rbx+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r14d
vmovdqu   xmm0,xmmword ptr [rdx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M01_L06
mov       r8,[rbp+58]
test      eax,eax
jne       short M01_L07
mov       esi,1
M01_L01
 
test      esi,esi
je        near ptr M01_L16
mov       r14,rbx
test      dil,2
jne       near ptr M01_L15
M01_L02
 
test      dil,1
je        short M01_L03
cmp       dword ptr [r14+8],0
je        near ptr M01_L16
M01_L03
 
mov       rcx,offset MT_System.String[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
lea       rcx,[r15+10]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,r15
M01_L04
 
mov       rcx,29E5ACABE3BB
cmp       [rbp],rcx
je        short M01_L05
call      CORINFO_HELP_FAIL_FAST
M01_L05
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L06
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L07
 
test      edi,edi
jne       short M01_L08
xor       edi,edi
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rdi
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       r14,rax
jmp       short M01_L09
M01_L08
 
xor       ecx,ecx
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       [rsp+28],edi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       r14,rax
M01_L09
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M01_L10
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,20688001F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L10
 
mov       rax,r14
mov       rcx,29E5ACABE3BB
cmp       [rbp],rcx
je        short M01_L11
call      CORINFO_HELP_FAIL_FAST
M01_L11
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L12
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,esi
call      qword ptr [7FFE28CBC1E0]
int       3
M01_L13
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M01_L14
 
mov       ecx,edi
and       ecx,0FFFFFFFD
cmp       r14d,esi
cmovl     edi,ecx
jmp       near ptr M01_L00
M01_L15
 
mov       rcx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE281F7318]; System.String.Trim()
mov       r14,rax
jmp       near ptr M01_L02
M01_L16
 
mov       rcx,7FFE28135120
mov       edx,7C
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,20688002008
mov       rax,[rax]
jmp       near ptr M01_L04
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M02_L03
xor       r15d,r15d
test      edi,edi
jle       short M02_L03
M02_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M02_L03
jmp       short M02_L02
M02_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L03
M02_L02
 
inc       r15d
cmp       edi,r15d
jg        short M02_L00
M02_L03
 
test      sil,2
je        near ptr M02_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M02_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M02_L07
cmp       edi,r14d
jle       short M02_L07
M02_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L06
M02_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L04
jmp       short M02_L10
M02_L07
 
cmp       r14d,edi
jae       short M02_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L09
M02_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L07
M02_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M02_L12
mov       rax,rbx
M02_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L12
 
test      r8d,r8d
je        short M02_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M02_L11
M02_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M02_L11
M02_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitRemoveEmpty()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L27
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CEF030]
test      eax,eax
jne       near ptr M00_L29
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L34
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CEF030]
test      eax,eax
jne       near ptr M00_L29
M00_L05
 
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28CEF030]
test      eax,eax
jne       near ptr M00_L30
M00_L07
 
dec       edi
mov       ecx,edi
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28CEF030]
test      eax,eax
jne       near ptr M00_L30
M00_L09
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2C
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L31
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280B1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L32
mov       rcx,[rdi+8]
mov       r11,7FFE280B1060
call      qword ptr [r11]
mov       rcx,rax
M00_L10
 
mov       [rbp-58],rcx
test      rcx,rcx
je        near ptr M00_L19
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       near ptr M00_L19
jmp       short M00_L13
M00_L11
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L12
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L13
 
cmp       rsi,rdi
jne       short M00_L16
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L15
mov       [rax+8],r8d
jmp       short M00_L11
M00_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L15
 
mov       [rax+8],r14d
jmp       near ptr M00_L25
M00_L16
 
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L23
mov       rcx,[rbp-58]
jmp       near ptr M00_L25
M00_L17
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L18
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L19
 
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       short M00_L20
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L21
mov       [rax+8],r8d
jmp       short M00_L17
M00_L20
 
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L24
mov       rcx,[rbp-58]
jmp       short M00_L25
M00_L21
 
mov       [rax+8],r14d
jmp       short M00_L25
M00_L22
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2845EFD0]
int       3
M00_L23
 
mov       rcx,[rbp-58]
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L12
M00_L24
 
mov       rcx,[rbp-58]
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L18
M00_L25
 
cmp       rsi,rdi
jne       near ptr M00_L33
M00_L26
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L27
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L28
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L28
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rcx,r13
mov       rdx,21E28548468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,r13
call      CORINFO_HELP_THROW
M00_L29
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L30
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L31
 
mov       ecx,14
call      qword ptr [7FFE2845ED00]
int       3
M00_L32
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1DD96812500
mov       rcx,[rcx]
jmp       near ptr M00_L10
M00_L33
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
jmp       near ptr M00_L26
M00_L34
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L35
mov       rcx,[rbp-58]
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
je        short M00_L35
mov       r11,7FFE280B1050
call      qword ptr [r11]
M00_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0CD19569D6E76
mov       [rbp],rax
mov       rbx,rcx
mov       esi,r8d
mov       edi,r9d
test      esi,esi
jl        near ptr M01_L12
test      edi,0FFFFFFFC
jne       near ptr M01_L13
cmp       esi,1
jle       short M01_L01
mov       r14d,[rbx+8]
test      r14d,r14d
je        short M01_L01
cmp       dword ptr [rdx+8],0
je        near ptr M01_L14
M01_L00
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rbx+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r14d
vmovdqu   xmm0,xmmword ptr [rdx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M01_L06
mov       r8,[rbp+58]
test      eax,eax
jne       short M01_L07
mov       esi,1
M01_L01
 
test      esi,esi
je        near ptr M01_L16
mov       r14,rbx
test      dil,2
jne       near ptr M01_L15
M01_L02
 
test      dil,1
je        short M01_L03
cmp       dword ptr [r14+8],0
je        near ptr M01_L16
M01_L03
 
mov       rcx,offset MT_System.String[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
lea       rcx,[r15+10]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,r15
M01_L04
 
mov       rcx,0CD19569D6E76
cmp       [rbp],rcx
je        short M01_L05
call      CORINFO_HELP_FAIL_FAST
M01_L05
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L06
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L07
 
test      edi,edi
jne       short M01_L08
xor       edi,edi
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rdi
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       r14,rax
jmp       short M01_L09
M01_L08
 
xor       ecx,ecx
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       [rsp+28],edi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       r14,rax
M01_L09
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M01_L10
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1DD96801F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1680]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L10
 
mov       rax,r14
mov       rcx,0CD19569D6E76
cmp       [rbp],rcx
je        short M01_L11
call      CORINFO_HELP_FAIL_FAST
M01_L11
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L12
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,esi
call      qword ptr [7FFE28CBC1E0]
int       3
M01_L13
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M01_L14
 
mov       ecx,edi
and       ecx,0FFFFFFFD
cmp       r14d,esi
cmovl     edi,ecx
jmp       near ptr M01_L00
M01_L15
 
mov       rcx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE281F7318]; System.String.Trim()
mov       r14,rax
jmp       near ptr M01_L02
M01_L16
 
mov       rcx,7FFE28135120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,1DD96802010
mov       rax,[rax]
jmp       near ptr M01_L04
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M02_L03
xor       r15d,r15d
test      edi,edi
jle       short M02_L03
M02_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M02_L03
jmp       short M02_L02
M02_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L03
M02_L02
 
inc       r15d
cmp       edi,r15d
jg        short M02_L00
M02_L03
 
test      sil,2
je        near ptr M02_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M02_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M02_L07
cmp       edi,r14d
jle       short M02_L07
M02_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L06
M02_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L04
jmp       short M02_L10
M02_L07
 
cmp       r14d,edi
jae       short M02_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L09
M02_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L07
M02_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M02_L12
mov       rax,rbx
M02_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L12
 
test      r8d,r8d
je        short M02_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M02_L11
M02_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M02_L11
M02_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitRemoveEmpty()
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+70]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-38],xmm4
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
mov       edi,[rsi+8]
xor       ecx,ecx
test      edi,edi
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
test      edi,edi
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L20
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L22
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28D0F960]
test      eax,eax
jne       near ptr M00_L22
M00_L03
 
lea       ecx,[rdi-1]
cmp       ecx,edi
jae       near ptr M00_L27
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L22
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28D0F960]
test      eax,eax
jne       near ptr M00_L22
M00_L05
 
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L23
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28D0F960]
test      eax,eax
jne       near ptr M00_L23
M00_L07
 
dec       edi
mov       ecx,edi
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       ecx,ecx
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L23
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28D0F960]
test      eax,eax
jne       near ptr M00_L23
M00_L09
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2C
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-38],rax
mov       dword ptr [rbp-30],1
lea       rdx,[rbp-38]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE282170C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L24
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280D1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L25
mov       rcx,[rdi+8]
mov       r11,7FFE280D1060
call      qword ptr [r11]
mov       rcx,rax
M00_L10
 
mov       [rbp-40],rcx
mov       rsi,[rcx]
M00_L11
 
mov       rdx,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdx
jne       short M00_L15
mov       rax,rcx
mov       edx,[rax+8]
inc       edx
mov       edi,[rax+0C]
cmp       edx,edi
jae       short M00_L14
mov       [rax+8],edx
mov       rdx,rcx
mov       r8d,[rdx+8]
cmp       r8d,[rdx+0C]
jae       short M00_L16
mov       rdx,[rdx+10]
cmp       r8d,[rdx+8]
jae       short M00_L13
mov       eax,r8d
mov       r14,[rdx+rax*8+10]
M00_L12
 
mov       [rbp-28],r14
mov       rdi,[rbx+18]
mov       rdx,[rbp-28]
lea       rcx,[rdi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [rdi+8],rcx
mov       rcx,[rbp-40]
jmp       short M00_L11
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       short M00_L18
M00_L15
 
mov       r11,7FFE280D1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L17
mov       rcx,[rbp-40]
jmp       short M00_L18
M00_L16
 
mov       ecx,r8d
call      qword ptr [7FFE2847EFD0]
int       3
M00_L17
 
mov       rcx,[rbp-40]
mov       r11,7FFE280D1048
call      qword ptr [r11]
mov       r14,rax
jmp       short M00_L12
M00_L18
 
mov       rax,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rax
jne       near ptr M00_L26
M00_L19
 
add       rsp,50
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M00_L20
 
call      qword ptr [7FFE287952D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L21
call      qword ptr [7FFE28795020]
mov       rbx,rax
M00_L21
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,29C3E418468
mov       r8,rbx
call      qword ptr [7FFE284A6670]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L22
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L23
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282173F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L24
 
mov       ecx,14
call      qword ptr [7FFE2847ED00]
int       3
M00_L25
 
mov       rcx,7FFE28155120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,25BAC412500
mov       rcx,[rcx]
jmp       near ptr M00_L10
M00_L26
 
mov       r11,7FFE280D1050
call      qword ptr [r11]
jmp       near ptr M00_L19
M00_L27
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-40],0
je        short M00_L28
mov       rcx,[rbp-40]
mov       rsi,[rcx]
mov       r11,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,r11
je        short M00_L28
mov       r11,7FFE280D1050
call      qword ptr [r11]
M00_L28
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,6504071D8E51
mov       [rbp],rax
mov       rbx,rcx
mov       esi,r8d
mov       edi,r9d
test      esi,esi
jl        near ptr M01_L12
test      edi,0FFFFFFFC
jne       near ptr M01_L13
cmp       esi,1
jle       short M01_L01
mov       r14d,[rbx+8]
test      r14d,r14d
je        short M01_L01
cmp       dword ptr [rdx+8],0
je        near ptr M01_L14
M01_L00
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rbx+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r14d
vmovdqu   xmm0,xmmword ptr [rdx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282171B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M01_L06
mov       r8,[rbp+58]
test      eax,eax
jne       short M01_L07
mov       esi,1
M01_L01
 
test      esi,esi
je        near ptr M01_L16
mov       r14,rbx
test      dil,2
jne       near ptr M01_L15
M01_L02
 
test      dil,1
je        short M01_L03
cmp       dword ptr [r14+8],0
je        near ptr M01_L16
M01_L03
 
mov       rcx,offset MT_System.String[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
lea       rcx,[r15+10]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,r15
M01_L04
 
mov       rcx,6504071D8E51
cmp       [rbp],rcx
je        short M01_L05
call      CORINFO_HELP_FAIL_FAST
M01_L05
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L06
 
call      qword ptr [7FFE2847E9D0]
int       3
M01_L07
 
test      edi,edi
jne       short M01_L08
xor       edi,edi
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rdi
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       r14,rax
jmp       short M01_L09
M01_L08
 
xor       ecx,ecx
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       [rsp+28],edi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28217198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       r14,rax
M01_L09
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M01_L10
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,25BAC401F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A11680]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L10
 
mov       rax,r14
mov       rcx,6504071D8E51
cmp       [rbp],rcx
je        short M01_L11
call      CORINFO_HELP_FAIL_FAST
M01_L11
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L12
 
mov       ecx,1C7
mov       rdx,7FFE280C4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,esi
call      qword ptr [7FFE28CDC1E0]
int       3
M01_L13
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2847ECB8]
int       3
M01_L14
 
mov       ecx,edi
and       ecx,0FFFFFFFD
cmp       r14d,esi
cmovl     edi,ecx
jmp       near ptr M01_L00
M01_L15
 
mov       rcx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE28217318]; System.String.Trim()
mov       r14,rax
jmp       near ptr M01_L02
M01_L16
 
mov       rcx,7FFE28155120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,25BAC402010
mov       rax,[rax]
jmp       near ptr M01_L04
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M02_L03
xor       r15d,r15d
test      edi,edi
jle       short M02_L03
M02_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M02_L03
jmp       short M02_L02
M02_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L03
M02_L02
 
inc       r15d
cmp       edi,r15d
jg        short M02_L00
M02_L03
 
test      sil,2
je        near ptr M02_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M02_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M02_L07
cmp       edi,r14d
jle       short M02_L07
M02_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L06
M02_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L04
jmp       short M02_L10
M02_L07
 
cmp       r14d,edi
jae       short M02_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L09
M02_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L07
M02_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M02_L12
mov       rax,rbx
M02_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L12
 
test      r8d,r8d
je        short M02_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M02_L11
M02_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M02_L11
M02_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitRemoveEmpty()
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+70]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-38],xmm4
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-50],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
mov       edi,[rsi+8]
xor       ecx,ecx
test      edi,edi
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
test      edi,edi
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L20
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L22
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CEF3F0]
test      eax,eax
jne       near ptr M00_L22
M00_L03
 
lea       ecx,[rdi-1]
cmp       ecx,edi
jae       near ptr M00_L27
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L22
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CEF3F0]
test      eax,eax
jne       near ptr M00_L22
M00_L05
 
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L23
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28CEF3F0]
test      eax,eax
jne       near ptr M00_L23
M00_L07
 
dec       edi
mov       ecx,edi
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L23
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28CEF3F0]
test      eax,eax
jne       near ptr M00_L23
M00_L09
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2C
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-38],rax
mov       dword ptr [rbp-30],1
lea       rdx,[rbp-38]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281F70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L24
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280B1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L25
mov       rcx,[rdi+8]
mov       r11,7FFE280B1060
call      qword ptr [r11]
mov       rcx,rax
M00_L10
 
mov       [rbp-40],rcx
mov       rsi,[rcx]
M00_L11
 
mov       rdx,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdx
jne       short M00_L15
mov       rax,rcx
mov       edx,[rax+8]
inc       edx
mov       edi,[rax+0C]
cmp       edx,edi
jae       short M00_L14
mov       [rax+8],edx
mov       rdx,rcx
mov       r8d,[rdx+8]
cmp       r8d,[rdx+0C]
jae       short M00_L16
mov       rdx,[rdx+10]
cmp       r8d,[rdx+8]
jae       short M00_L13
mov       eax,r8d
mov       r14,[rdx+rax*8+10]
M00_L12
 
mov       [rbp-28],r14
mov       rdi,[rbx+18]
mov       rdx,[rbp-28]
lea       rcx,[rdi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [rdi+8],rcx
mov       rcx,[rbp-40]
jmp       short M00_L11
M00_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L14
 
mov       [rax+8],edi
jmp       short M00_L18
M00_L15
 
mov       r11,7FFE280B1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L17
mov       rcx,[rbp-40]
jmp       short M00_L18
M00_L16
 
mov       ecx,r8d
call      qword ptr [7FFE2845EFD0]
int       3
M00_L17
 
mov       rcx,[rbp-40]
mov       r11,7FFE280B1048
call      qword ptr [r11]
mov       r14,rax
jmp       short M00_L12
M00_L18
 
mov       rax,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rax
jne       near ptr M00_L26
M00_L19
 
add       rsp,50
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M00_L20
 
call      qword ptr [7FFE287752D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L21
call      qword ptr [7FFE28775020]
mov       rbx,rax
M00_L21
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,1AEF2408468
mov       r8,rbx
call      qword ptr [7FFE28486670]
mov       rcx,r14
call      CORINFO_HELP_THROW
M00_L22
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L23
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281F73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L24
 
mov       ecx,14
call      qword ptr [7FFE2845ED00]
int       3
M00_L25
 
mov       rcx,7FFE28135120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,16E60412500
mov       rcx,[rcx]
jmp       near ptr M00_L10
M00_L26
 
mov       r11,7FFE280B1050
call      qword ptr [r11]
jmp       near ptr M00_L19
M00_L27
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-40],0
je        short M00_L28
mov       rcx,[rbp-40]
mov       rsi,[rcx]
mov       r11,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,r11
je        short M00_L28
mov       r11,7FFE280B1050
call      qword ptr [r11]
M00_L28
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0D2FAC0DB249D
mov       [rbp],rax
mov       rbx,rcx
mov       esi,r8d
mov       edi,r9d
test      esi,esi
jl        near ptr M01_L12
test      edi,0FFFFFFFC
jne       near ptr M01_L13
cmp       esi,1
jle       short M01_L01
mov       r14d,[rbx+8]
test      r14d,r14d
je        short M01_L01
cmp       dword ptr [rdx+8],0
je        near ptr M01_L14
M01_L00
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rbx+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r14d
vmovdqu   xmm0,xmmword ptr [rdx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281F71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M01_L06
mov       r8,[rbp+58]
test      eax,eax
jne       short M01_L07
mov       esi,1
M01_L01
 
test      esi,esi
je        near ptr M01_L16
mov       r14,rbx
test      dil,2
jne       near ptr M01_L15
M01_L02
 
test      dil,1
je        short M01_L03
cmp       dword ptr [r14+8],0
je        near ptr M01_L16
M01_L03
 
mov       rcx,offset MT_System.String[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
lea       rcx,[r15+10]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,r15
M01_L04
 
mov       rcx,0D2FAC0DB249D
cmp       [rbp],rcx
je        short M01_L05
call      CORINFO_HELP_FAIL_FAST
M01_L05
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L06
 
call      qword ptr [7FFE2845E9D0]
int       3
M01_L07
 
test      edi,edi
jne       short M01_L08
xor       edi,edi
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rdi
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       r14,rax
jmp       short M01_L09
M01_L08
 
xor       ecx,ecx
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       [rsp+28],edi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281F7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       r14,rax
M01_L09
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M01_L10
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,16E60401F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289F1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L10
 
mov       rax,r14
mov       rcx,0D2FAC0DB249D
cmp       [rbp],rcx
je        short M01_L11
call      CORINFO_HELP_FAIL_FAST
M01_L11
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L12
 
mov       ecx,1C7
mov       rdx,7FFE280A4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,esi
call      qword ptr [7FFE28CBD548]
int       3
M01_L13
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2845ECB8]
int       3
M01_L14
 
mov       ecx,edi
and       ecx,0FFFFFFFD
cmp       r14d,esi
cmovl     edi,ecx
jmp       near ptr M01_L00
M01_L15
 
mov       rcx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE281F7318]; System.String.Trim()
mov       r14,rax
jmp       near ptr M01_L02
M01_L16
 
mov       rcx,7FFE28135120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,16E60402010
mov       rax,[rax]
jmp       near ptr M01_L04
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M02_L03
xor       r15d,r15d
test      edi,edi
jle       short M02_L03
M02_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M02_L03
jmp       short M02_L02
M02_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L03
M02_L02
 
inc       r15d
cmp       edi,r15d
jg        short M02_L00
M02_L03
 
test      sil,2
je        near ptr M02_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M02_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M02_L07
cmp       edi,r14d
jle       short M02_L07
M02_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L06
M02_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L04
jmp       short M02_L10
M02_L07
 
cmp       r14d,edi
jae       short M02_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L09
M02_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L07
M02_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M02_L12
mov       rax,rbx
M02_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L12
 
test      r8d,r8d
je        short M02_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M02_L11
M02_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M02_L11
M02_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitRemoveEmpty()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L27
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CDCCC0]
test      eax,eax
jne       near ptr M00_L29
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L34
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CDCCC0]
test      eax,eax
jne       near ptr M00_L29
M00_L05
 
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28CDCCC0]
test      eax,eax
jne       near ptr M00_L30
M00_L07
 
dec       edi
mov       ecx,edi
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28CDCCC0]
test      eax,eax
jne       near ptr M00_L30
M00_L09
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2C
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE281E70C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L31
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280A1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L32
mov       rcx,[rdi+8]
mov       r11,7FFE280A1060
call      qword ptr [r11]
mov       rcx,rax
M00_L10
 
mov       [rbp-58],rcx
test      rcx,rcx
je        near ptr M00_L19
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       near ptr M00_L19
jmp       short M00_L13
M00_L11
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L12
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L13
 
cmp       rsi,rdi
jne       short M00_L16
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L15
mov       [rax+8],r8d
jmp       short M00_L11
M00_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L15
 
mov       [rax+8],r14d
jmp       near ptr M00_L25
M00_L16
 
mov       r11,7FFE280A1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L23
mov       rcx,[rbp-58]
jmp       near ptr M00_L25
M00_L17
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L18
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L19
 
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       short M00_L20
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L21
mov       [rax+8],r8d
jmp       short M00_L17
M00_L20
 
mov       r11,7FFE280A1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L24
mov       rcx,[rbp-58]
jmp       short M00_L25
M00_L21
 
mov       [rax+8],r14d
jmp       short M00_L25
M00_L22
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2844EFD0]
int       3
M00_L23
 
mov       rcx,[rbp-58]
mov       r11,7FFE280A1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L12
M00_L24
 
mov       rcx,[rbp-58]
mov       r11,7FFE280A1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L18
M00_L25
 
cmp       rsi,rdi
jne       near ptr M00_L33
M00_L26
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L27
 
call      qword ptr [7FFE287652D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L28
call      qword ptr [7FFE28765020]
mov       rbx,rax
M00_L28
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rcx,r13
mov       rdx,2046D2B8468
mov       r8,rbx
call      qword ptr [7FFE28476670]
mov       rcx,r13
call      CORINFO_HELP_THROW
M00_L29
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L30
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE281E73F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L31
 
mov       ecx,14
call      qword ptr [7FFE2844ED00]
int       3
M00_L32
 
mov       rcx,7FFE28125120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,1C3DB412500
mov       rcx,[rcx]
jmp       near ptr M00_L10
M00_L33
 
mov       r11,7FFE280A1050
call      qword ptr [r11]
jmp       near ptr M00_L26
M00_L34
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L35
mov       rcx,[rbp-58]
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
je        short M00_L35
mov       r11,7FFE280A1050
call      qword ptr [r11]
M00_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,2A43208D91A
mov       [rbp],rax
mov       rbx,rcx
mov       esi,r8d
mov       edi,r9d
test      esi,esi
jl        near ptr M01_L12
test      edi,0FFFFFFFC
jne       near ptr M01_L13
cmp       esi,1
jle       short M01_L01
mov       r14d,[rbx+8]
test      r14d,r14d
je        short M01_L01
cmp       dword ptr [rdx+8],0
je        near ptr M01_L14
M01_L00
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rbx+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r14d
vmovdqu   xmm0,xmmword ptr [rdx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE281E71B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M01_L06
mov       r8,[rbp+58]
test      eax,eax
jne       short M01_L07
mov       esi,1
M01_L01
 
test      esi,esi
je        near ptr M01_L16
mov       r14,rbx
test      dil,2
jne       near ptr M01_L15
M01_L02
 
test      dil,1
je        short M01_L03
cmp       dword ptr [r14+8],0
je        near ptr M01_L16
M01_L03
 
mov       rcx,offset MT_System.String[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
lea       rcx,[r15+10]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,r15
M01_L04
 
mov       rcx,2A43208D91A
cmp       [rbp],rcx
je        short M01_L05
call      CORINFO_HELP_FAIL_FAST
M01_L05
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L06
 
call      qword ptr [7FFE2844E9D0]
int       3
M01_L07
 
test      edi,edi
jne       short M01_L08
xor       edi,edi
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rdi
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281E7180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       r14,rax
jmp       short M01_L09
M01_L08
 
xor       ecx,ecx
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       [rsp+28],edi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE281E7198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       r14,rax
M01_L09
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M01_L10
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,1C3DB401F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE289E1D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L10
 
mov       rax,r14
mov       rcx,2A43208D91A
cmp       [rbp],rcx
je        short M01_L11
call      CORINFO_HELP_FAIL_FAST
M01_L11
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L12
 
mov       ecx,1C7
mov       rdx,7FFE28094000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,esi
call      qword ptr [7FFE28CAD470]
int       3
M01_L13
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2844ECB8]
int       3
M01_L14
 
mov       ecx,edi
and       ecx,0FFFFFFFD
cmp       r14d,esi
cmovl     edi,ecx
jmp       near ptr M01_L00
M01_L15
 
mov       rcx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE281E7318]; System.String.Trim()
mov       r14,rax
jmp       near ptr M01_L02
M01_L16
 
mov       rcx,7FFE28125120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,1C3DB402010
mov       rax,[rax]
jmp       near ptr M01_L04
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M02_L03
xor       r15d,r15d
test      edi,edi
jle       short M02_L03
M02_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M02_L03
jmp       short M02_L02
M02_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L03
M02_L02
 
inc       r15d
cmp       edi,r15d
jg        short M02_L00
M02_L03
 
test      sil,2
je        near ptr M02_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M02_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M02_L07
cmp       edi,r14d
jle       short M02_L07
M02_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L06
M02_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L04
jmp       short M02_L10
M02_L07
 
cmp       r14d,edi
jae       short M02_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L09
M02_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L07
M02_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M02_L12
mov       rax,rbx
M02_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L12
 
test      r8d,r8d
je        short M02_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M02_L11
M02_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M02_L11
M02_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitRemoveEmpty()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L27
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFCD38]
test      eax,eax
jne       near ptr M00_L29
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L34
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFCD38]
test      eax,eax
jne       near ptr M00_L29
M00_L05
 
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28CFCD38]
test      eax,eax
jne       near ptr M00_L30
M00_L07
 
dec       edi
mov       ecx,edi
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28CFCD38]
test      eax,eax
jne       near ptr M00_L30
M00_L09
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2C
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L31
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280C1058
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L32
mov       rcx,[rdi+8]
mov       r11,7FFE280C1060
call      qword ptr [r11]
mov       rcx,rax
M00_L10
 
mov       [rbp-58],rcx
test      rcx,rcx
je        near ptr M00_L19
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       near ptr M00_L19
jmp       short M00_L13
M00_L11
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L12
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L13
 
cmp       rsi,rdi
jne       short M00_L16
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L15
mov       [rax+8],r8d
jmp       short M00_L11
M00_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L15
 
mov       [rax+8],r14d
jmp       near ptr M00_L25
M00_L16
 
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L23
mov       rcx,[rbp-58]
jmp       near ptr M00_L25
M00_L17
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L18
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L19
 
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       short M00_L20
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L21
mov       [rax+8],r8d
jmp       short M00_L17
M00_L20
 
mov       r11,7FFE280C1040
call      qword ptr [r11]
test      eax,eax
jne       short M00_L24
mov       rcx,[rbp-58]
jmp       short M00_L25
M00_L21
 
mov       [rax+8],r14d
jmp       short M00_L25
M00_L22
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L23
 
mov       rcx,[rbp-58]
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L12
M00_L24
 
mov       rcx,[rbp-58]
mov       r11,7FFE280C1048
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L18
M00_L25
 
cmp       rsi,rdi
jne       near ptr M00_L33
M00_L26
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L27
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L28
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L28
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rcx,r13
mov       rdx,1A38EC88468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,r13
call      CORINFO_HELP_THROW
M00_L29
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L30
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L31
 
mov       ecx,14
call      qword ptr [7FFE2846ED00]
int       3
M00_L32
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,162FCC12500
mov       rcx,[rcx]
jmp       near ptr M00_L10
M00_L33
 
mov       r11,7FFE280C1050
call      qword ptr [r11]
jmp       near ptr M00_L26
M00_L34
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L35
mov       rcx,[rbp-58]
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
je        short M00_L35
mov       r11,7FFE280C1050
call      qword ptr [r11]
M00_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,0CF592F71C4B9
mov       [rbp],rax
mov       rbx,rcx
mov       esi,r8d
mov       edi,r9d
test      esi,esi
jl        near ptr M01_L12
test      edi,0FFFFFFFC
jne       near ptr M01_L13
cmp       esi,1
jle       short M01_L01
mov       r14d,[rbx+8]
test      r14d,r14d
je        short M01_L01
cmp       dword ptr [rdx+8],0
je        near ptr M01_L14
M01_L00
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rbx+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r14d
vmovdqu   xmm0,xmmword ptr [rdx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M01_L06
mov       r8,[rbp+58]
test      eax,eax
jne       short M01_L07
mov       esi,1
M01_L01
 
test      esi,esi
je        near ptr M01_L16
mov       r14,rbx
test      dil,2
jne       near ptr M01_L15
M01_L02
 
test      dil,1
je        short M01_L03
cmp       dword ptr [r14+8],0
je        near ptr M01_L16
M01_L03
 
mov       rcx,offset MT_System.String[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
lea       rcx,[r15+10]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,r15
M01_L04
 
mov       rcx,0CF592F71C4B9
cmp       [rbp],rcx
je        short M01_L05
call      CORINFO_HELP_FAIL_FAST
M01_L05
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L06
 
call      qword ptr [7FFE2846E9D0]
int       3
M01_L07
 
test      edi,edi
jne       short M01_L08
xor       edi,edi
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rdi
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       r14,rax
jmp       short M01_L09
M01_L08
 
xor       ecx,ecx
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       [rsp+28],edi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       r14,rax
M01_L09
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M01_L10
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,162FCC01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L10
 
mov       rax,r14
mov       rcx,0CF592F71C4B9
cmp       [rbp],rcx
je        short M01_L11
call      CORINFO_HELP_FAIL_FAST
M01_L11
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L12
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,esi
call      qword ptr [7FFE28CCD548]
int       3
M01_L13
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M01_L14
 
mov       ecx,edi
and       ecx,0FFFFFFFD
cmp       r14d,esi
cmovl     edi,ecx
jmp       near ptr M01_L00
M01_L15
 
mov       rcx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE28207318]; System.String.Trim()
mov       r14,rax
jmp       near ptr M01_L02
M01_L16
 
mov       rcx,7FFE28145120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,162FCC02010
mov       rax,[rax]
jmp       near ptr M01_L04
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M02_L03
xor       r15d,r15d
test      edi,edi
jle       short M02_L03
M02_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M02_L03
jmp       short M02_L02
M02_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L03
M02_L02
 
inc       r15d
cmp       edi,r15d
jg        short M02_L00
M02_L03
 
test      sil,2
je        near ptr M02_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M02_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M02_L07
cmp       edi,r14d
jle       short M02_L07
M02_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L06
M02_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L04
jmp       short M02_L10
M02_L07
 
cmp       r14d,edi
jae       short M02_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L09
M02_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L07
M02_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M02_L12
mov       rax,rbx
M02_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L12
 
test      r8d,r8d
je        short M02_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M02_L11
M02_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M02_L11
M02_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.12 (8.0.1224.60305), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.StringExtensionsCounterBenchmark.SplitRemoveEmpty()
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-60],rsp
mov       rbx,rcx
mov       rsi,[rbx+288]
test      rsi,rsi
je        short M00_L00
xor       ecx,ecx
cmp       dword ptr [rsi+8],0
sete      cl
test      ecx,ecx
sete      cl
movzx     ecx,cl
cmp       dword ptr [rsi+8],0
jne       short M00_L01
jmp       short M00_L01
M00_L00
 
xor       ecx,ecx
M00_L01
 
test      ecx,ecx
je        near ptr M00_L27
cmp       dword ptr [rsi+8],0
je        short M00_L05
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L02
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L03
M00_L02
 
call      qword ptr [7FFE28CFCD38]
test      eax,eax
jne       near ptr M00_L29
M00_L03
 
mov       ecx,[rsi+8]
dec       ecx
cmp       ecx,[rsi+8]
jae       near ptr M00_L34
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L04
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L29
jmp       short M00_L05
M00_L04
 
call      qword ptr [7FFE28CFCD38]
test      eax,eax
jne       near ptr M00_L29
M00_L05
 
mov       edi,[rsi+8]
test      edi,edi
je        short M00_L09
movzx     ecx,word ptr [rsi+0C]
cmp       ecx,100
jae       short M00_L06
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L07
M00_L06
 
call      qword ptr [7FFE28CFCD38]
test      eax,eax
jne       near ptr M00_L30
M00_L07
 
dec       edi
mov       ecx,edi
movzx     ecx,word ptr [rsi+rcx*2+0C]
cmp       ecx,100
jae       short M00_L08
mov       rax,7FFE65112E50
test      byte ptr [rcx+rax],80
jne       near ptr M00_L30
jmp       short M00_L09
M00_L08
 
call      qword ptr [7FFE28CFCD38]
test      eax,eax
jne       near ptr M00_L30
M00_L09
 
mov       rcx,offset MT_System.Char[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_VC
mov       word ptr [rax+10],2C
cmp       [rsi],sil
add       rax,10
mov       rcx,rsi
mov       [rbp-50],rax
mov       dword ptr [rbp-48],1
lea       rdx,[rbp-50]
mov       r8d,7FFFFFFF
mov       r9d,1
call      qword ptr [7FFE282070C0]; System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
mov       rsi,rax
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyCollection`1[[System.String, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
test      rsi,rsi
je        near ptr M00_L31
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F38
call      qword ptr [r11]
test      eax,eax
je        near ptr M00_L32
mov       rcx,[rdi+8]
mov       r11,7FFE280C0F40
call      qword ptr [r11]
mov       rcx,rax
M00_L10
 
mov       [rbp-58],rcx
test      rcx,rcx
je        near ptr M00_L19
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       near ptr M00_L19
jmp       short M00_L13
M00_L11
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       near ptr M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L12
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L13
 
cmp       rsi,rdi
jne       short M00_L16
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L15
mov       [rax+8],r8d
jmp       short M00_L11
M00_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M00_L15
 
mov       [rax+8],r14d
jmp       near ptr M00_L25
M00_L16
 
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       near ptr M00_L23
mov       rcx,[rbp-58]
jmp       near ptr M00_L25
M00_L17
 
mov       r10,rcx
mov       r9d,[r10+8]
cmp       r9d,[r10+0C]
jae       short M00_L22
mov       r15,[r10+10]
cmp       r9d,[r15+8]
jae       short M00_L14
mov       edx,r9d
mov       r13,[r15+rdx*8+10]
M00_L18
 
mov       [rbp-40],r13
mov       r12,[rbx+18]
mov       rdx,[rbp-40]
lea       rcx,[r12+8]
call      CORINFO_HELP_ASSIGN_REF
xor       ecx,ecx
mov       [r12+8],rcx
mov       rcx,[rbp-58]
M00_L19
 
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
jne       short M00_L20
mov       rax,rcx
mov       r8d,[rax+8]
inc       r8d
mov       r14d,[rax+0C]
cmp       r8d,r14d
jae       short M00_L21
mov       [rax+8],r8d
jmp       short M00_L17
M00_L20
 
mov       r11,7FFE280C0F20
call      qword ptr [r11]
test      eax,eax
jne       short M00_L24
mov       rcx,[rbp-58]
jmp       short M00_L25
M00_L21
 
mov       [rax+8],r14d
jmp       short M00_L25
M00_L22
 
mov       ecx,[r10+8]
call      qword ptr [7FFE2846EFD0]
int       3
M00_L23
 
mov       rcx,[rbp-58]
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L12
M00_L24
 
mov       rcx,[rbp-58]
mov       r11,7FFE280C0F28
call      qword ptr [r11]
mov       r13,rax
jmp       near ptr M00_L18
M00_L25
 
cmp       rsi,rdi
jne       near ptr M00_L33
M00_L26
 
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M00_L27
 
call      qword ptr [7FFE287852D8]
mov       rbx,rax
test      rbx,rbx
jne       short M00_L28
call      qword ptr [7FFE28785020]
mov       rbx,rax
M00_L28
 
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       r13,rax
mov       rcx,r13
mov       rdx,1B0ABA38468
mov       r8,rbx
call      qword ptr [7FFE28496670]
mov       rcx,r13
call      CORINFO_HELP_THROW
M00_L29
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L05
M00_L30
 
mov       rcx,rsi
mov       edx,3
call      qword ptr [7FFE282073F0]; System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
mov       rsi,rax
jmp       near ptr M00_L09
M00_L31
 
mov       ecx,14
call      qword ptr [7FFE2846ED00]
int       3
M00_L32
 
mov       rcx,7FFE28145120
mov       edx,20
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rcx,17019C12500
mov       rcx,[rcx]
jmp       near ptr M00_L10
M00_L33
 
mov       r11,7FFE280C0F30
call      qword ptr [r11]
jmp       near ptr M00_L26
M00_L34
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M00_L35
mov       rcx,[rbp-58]
mov       rsi,[rcx]
mov       rdi,offset MT_System.SZGenericArrayEnumerator`1[[System.String, System.Private.CoreLib]]
cmp       rsi,rdi
je        short M00_L35
mov       r11,7FFE280C0F30
call      qword ptr [r11]
M00_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.String.SplitInternal(System.ReadOnlySpan`1, Int32, System.StringSplitOptions)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,98
vzeroupper
lea       rbp,[rsp+30]
xor       eax,eax
mov       [rbp+8],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp+10],xmm4
vmovdqa   xmmword ptr [rbp+20],xmm4
vmovdqa   xmmword ptr [rbp+30],xmm4
vmovdqa   xmmword ptr [rbp+40],xmm4
vmovdqa   xmmword ptr [rbp+50],xmm4
mov       [rbp+60],rax
mov       rax,8F90FAA8C84E
mov       [rbp],rax
mov       rbx,rcx
mov       esi,r8d
mov       edi,r9d
test      esi,esi
jl        near ptr M01_L12
test      edi,0FFFFFFFC
jne       near ptr M01_L13
cmp       esi,1
jle       short M01_L01
mov       r14d,[rbx+8]
test      r14d,r14d
je        short M01_L01
cmp       dword ptr [rdx+8],0
je        near ptr M01_L14
M01_L00
 
test      [rsp],esp
sub       rsp,200
lea       rcx,[rsp+30]
mov       [rbp+58],rcx
mov       dword ptr [rbp+60],80
xor       ecx,ecx
mov       [rbp+48],rcx
mov       [rbp+50],ecx
lea       rcx,[rbx+0C]
mov       [rbp+38],rcx
mov       [rbp+40],r14d
vmovdqu   xmm0,xmmword ptr [rdx]
vmovdqu   xmmword ptr [rbp+28],xmm0
lea       rcx,[rbp+38]
lea       rdx,[rbp+28]
lea       r8,[rbp+48]
call      qword ptr [7FFE282071B0]; System.String.MakeSeparatorListAny(System.ReadOnlySpan`1, System.ReadOnlySpan`1, System.Collections.Generic.ValueListBuilder`1 ByRef)
mov       eax,[rbp+50]
cmp       eax,[rbp+60]
ja        near ptr M01_L06
mov       r8,[rbp+58]
test      eax,eax
jne       short M01_L07
mov       esi,1
M01_L01
 
test      esi,esi
je        near ptr M01_L16
mov       r14,rbx
test      dil,2
jne       near ptr M01_L15
M01_L02
 
test      dil,1
je        short M01_L03
cmp       dword ptr [r14+8],0
je        near ptr M01_L16
M01_L03
 
mov       rcx,offset MT_System.String[]
mov       edx,1
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
lea       rcx,[r15+10]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,r15
M01_L04
 
mov       rcx,8F90FAA8C84E
cmp       [rbp],rcx
je        short M01_L05
call      CORINFO_HELP_FAIL_FAST
M01_L05
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L06
 
call      qword ptr [7FFE2846E9D0]
int       3
M01_L07
 
test      edi,edi
jne       short M01_L08
xor       edi,edi
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rdi
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207180]; System.String.SplitWithoutPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32)
mov       r14,rax
jmp       short M01_L09
M01_L08
 
xor       ecx,ecx
mov       [rbp+18],r8
mov       [rbp+20],eax
mov       [rbp+8],rcx
xor       ecx,ecx
mov       [rbp+10],ecx
mov       [rsp+20],esi
mov       [rsp+28],edi
mov       rcx,rbx
lea       rdx,[rbp+18]
lea       r8,[rbp+8]
mov       r9d,1
call      qword ptr [7FFE28207198]; System.String.SplitWithPostProcessing(System.ReadOnlySpan`1, System.ReadOnlySpan`1, Int32, Int32, System.StringSplitOptions)
mov       r14,rax
M01_L09
 
mov       rdx,[rbp+48]
test      rdx,rdx
je        short M01_L10
xor       ecx,ecx
mov       [rbp+48],rcx
mov       rcx,17019C01F28
mov       rcx,[rcx]
xor       r8d,r8d
call      qword ptr [7FFE28A01D60]; Precode of System.Buffers.SharedArrayPool`1[[System.Int32, System.Private.CoreLib]].Return(Int32[], Boolean)
M01_L10
 
mov       rax,r14
mov       rcx,8F90FAA8C84E
cmp       [rbp],rcx
je        short M01_L11
call      CORINFO_HELP_FAIL_FAST
M01_L11
 
nop
lea       rsp,[rbp+68]
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L12
 
mov       ecx,1C7
mov       rdx,7FFE280B4000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,esi
call      qword ptr [7FFE28CCD548]
int       3
M01_L13
 
mov       ecx,45
mov       edx,59
call      qword ptr [7FFE2846ECB8]
int       3
M01_L14
 
mov       ecx,edi
and       ecx,0FFFFFFFD
cmp       r14d,esi
cmovl     edi,ecx
jmp       near ptr M01_L00
M01_L15
 
mov       rcx,rbx
cmp       [rcx],ecx
call      qword ptr [7FFE28207318]; System.String.Trim()
mov       r14,rax
jmp       near ptr M01_L02
M01_L16
 
mov       rcx,7FFE28145120
mov       edx,7D
call      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov       rax,17019C02010
mov       rax,[rax]
jmp       near ptr M01_L04
 
System.String.TrimWhiteSpaceHelper(System.Text.TrimType)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       esi,edx
mov       edi,[rbx+8]
lea       ebp,[rdi-1]
mov       r14d,ebp
xor       r15d,r15d
test      sil,1
je        short M02_L03
xor       r15d,r15d
test      edi,edi
jle       short M02_L03
M02_L00
 
mov       ecx,r15d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L01
mov       rax,[7FFE65B90728]
test      byte ptr [rax+rcx],80
je        short M02_L03
jmp       short M02_L02
M02_L01
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L03
M02_L02
 
inc       r15d
cmp       edi,r15d
jg        short M02_L00
M02_L03
 
test      sil,2
je        near ptr M02_L10
mov       r14d,ebp
cmp       r14d,r15d
jl        short M02_L10
mov       ecx,r14d
or        ecx,r15d
jl        short M02_L07
cmp       edi,r14d
jle       short M02_L07
M02_L04
 
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L05
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L06
M02_L05
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L06
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L04
jmp       short M02_L10
M02_L07
 
cmp       r14d,edi
jae       short M02_L14
mov       ecx,r14d
movzx     ecx,word ptr [rbx+rcx*2+0C]
cmp       ecx,100
jae       short M02_L08
mov       rsi,[7FFE65B90728]
test      byte ptr [rsi+rcx],80
je        short M02_L10
jmp       short M02_L09
M02_L08
 
call      qword ptr [7FFE65B77338]
test      eax,eax
je        short M02_L10
M02_L09
 
dec       r14d
cmp       r14d,r15d
jge       short M02_L07
M02_L10
 
mov       r8d,r14d
sub       r8d,r15d
inc       r8d
cmp       edi,r8d
jne       short M02_L12
mov       rax,rbx
M02_L11
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L12
 
test      r8d,r8d
je        short M02_L13
mov       rcx,rbx
mov       edx,r15d
call      qword ptr [7FFE65B734A0]; Precode of System.String.InternalSubString(Int32, Int32)
jmp       short M02_L11
M02_L13
 
mov       rax,[7FFE65B908A0]
mov       rax,[rax]
jmp       short M02_L11
M02_L14
 
call      qword ptr [7FFE65B63D20]; CORINFO_HELP_RNGCHKFAIL
int       3